1

这是我的实体类:

@Entity
public class MyData {
   @Id
   @GeneratedValue(strategy = GenerationType.AUTO)
   private Integer id;

   public MyData() {
      // ...
   }

   public MyData(String fieldList, Object ... values) {
       // ...
   }

   // Getters and setters here...
}

稍后,我想执行这个查询:

SELECT NEW com.company.MyData('f1,f2,f3',t.f1,t.f2,t.f3) FROM my_data_table t WHERE 1=1 

并引发了此异常:

Unable to locate appropriate constructor on class [package.MyData]

我的查询可以包含 1,2 ,3 ...或更多字段。

如何帮助我的 JPA 提供程序(休眠)找到构造函数?

休眠 3.6.8
JPA 2
Java 6

4

1 回答 1

1

这是我解决问题的方法:

SELECT NEW com.company.MyData('f1,f2,f3',t) FROM my_data_table t WHERE 1=1

我的课现在看起来像这样:

@Entity
public class MyData {
   @Id
   @GeneratedValue(strategy = GenerationType.AUTO)
   private Integer id;

   public MyData() {
      // ...
   }

   public MyData(String fieldList, MyData md) {
      // ...
   }

   // Getters and setters here...
}
于 2013-09-19T12:24:52.883 回答