没有@Id的hibernate/持久性
我有一个数据库视图,该视图产生的结果集没有真正的主键。我想使用Hibernate /
Persistence将结果集映射到Java对象上。当然,因为没有PK,所以我不能用修饰任何字段@Id
。
部署时,Hibernate抱怨缺少该组件@Id
。我该如何解决?
回答:
如果存在使行唯一的列组合,请围绕列组合建模主键类。如果没有,您基本上就不走运了-但您应该重新检查视图的设计,因为它可能没有意义。
有两种不同的方法:
@Entitypublic class RegionalArticle implements Serializable {
@Id
public RegionalArticlePk getPk() { ... }
}
@Embeddable
public class RegionalArticlePk implements Serializable { ... }
要么:
@Entitypublic class RegionalArticle implements Serializable {
@EmbeddedId
public RegionalArticlePk getPk() { ... }
}
public class RegionalArticlePk implements Serializable { ... }
详细信息在这里:http :
//docs.jboss.org/ejb3/app-
server/HibernateAnnotations/reference/en/html_single/index.html#d0e1517
这是描述类似问题的帖子:http
:
//www.theserverside.com/discussions/thread.tss?thread_id=22638
以上是 没有@Id的hibernate/持久性 的全部内容, 来源链接: utcz.com/qa/409843.html