我想创建一个将属性填充到我的假对象的方法,而不是三个@Formulas。 MySimpleData是MyHugeObject的简单版本,我不想完全加载。
@Formula("(select myObject.id1 as id1, myObject.id2 as id2, myObject"
+ ".id3 as id3 from my_object myObject where myObject.id = this_id)")
private MySimpleData mySimpleData = new MySimpleData();
org.hibernate.MappingException:无法确定以下类型:
mypackage.MySimpleData
public class MySimpleData {
private Long id1;
private String id2;
private String id3;
public MySimpleData(Long id1, String id2, String id3) {
this.id1 = id1;
this.id2 = id2;
this.id3 = id3;
}
public MySimpleData() {
}
}
最佳答案
您可以尝试这样的事情。
@Formula("(select new MySimpleData(myObject.id1, myObject.id2, myObject.id3) from my_object myObject where myObject.id = this_id)")
private MySimpleData mySimpleData;
如果仍然出现相同的错误,请在
MySimpleData
前面添加完整的类路径。像这样
select new full.classPath.MySimpleData(..