0
我想创建一个实体,它的字段不是特定于表而是查询。例如:创建一个不与表关联的Hibernate实体
@Entity
class MyEntity{
@column("bookTitle ")
private String bookTitle;
@Column("rating ")
private Double rating;
@Column("sum")
private Integer sum;
}
这些领域都没有任何表的列,但我却想: SELECT o1.bookName AS BOOKTITLE,o2.rate AS评级,o3.totalNumber AS总和......
的EntityManager .createQuery(我的上面的查询,MyEntity.class)应该返回一个类型为MyEntity的类如预期
不幸的是,Hibernate抱怨“找不到列”。在EclipseLink或Toplink中,它工作正常。此外,在我看来,一个实体不应该与某个特定的表相关联,而应该拥有一组随机收集的列。
任何想法?
谢谢,我意识到这个解决方案,但它不是优雅 – 2012-02-14 10:38:06
顺便说一句,有可能在不驻留在任何表的hibernate实体内声明新列,只要您的查询“选择”它们。换句话说,只有映射实体字段时,hibernate才会投诉,而您的选择不包含此字段 – 2012-02-14 10:58:01