我有一个数据库视图,该视图产生的结果集没有真正的主键。我想使用Hibernate /
Persistence将结果集映射到Java对象上。当然,因为没有PK,所以我不能用修饰任何字段@Id
。
部署时,Hibernate抱怨缺少该组件@Id
。我该如何解决?
如果存在使行唯一的列组合,请围绕列组合建模主键类。如果没有,您基本上就不走运了-但您应该重新检查视图的设计,因为它可能没有意义。
有两种不同的方法:
@Entity
public class RegionalArticle implements Serializable {
@Id
public RegionalArticlePk getPk() { ... }
}
@Embeddable
public class RegionalArticlePk implements Serializable { ... }
要么:
@Entity
public 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
问题内容: 我有一个数据库视图,该视图产生的结果集没有真正的主键。我想使用Hibernate / Persistence将结果集映射到Java对象上。当然,因为没有PK,所以我不能用修饰任何字段。 部署时,Hibernate抱怨缺少该组件。我该如何解决? 问题答案: 如果存在使行唯一的列组合,请围绕列组合建模主键类。如果没有,您基本上就不走运了-但您应该重新检查视图的设计,因为它可能没有意义。 有
问题内容: Hibernate 5.1.1和5.2.2之间发生了什么变化?如果我使用5.2.2,则会收到错误消息“名为pu的EntityManager没有持久性提供程序”。完全相同的配置适用于5.1.1。我应该如何更改代码以使5.2.2正常工作? pom.xml src / main / resources / META-INF中的persistence.xml 创建EntityManager 问
问题内容: 我正在尝试创建事务管理器,并将其与Hibernate for Oracle一起使用。 我的persistence.xml文件是: 在spring的applicationContext.xml中,我添加了: 但是,当我运行时: 我有一个例外: Hibernate基础文件文件除外。 可能是什么问题呢? Hibernate持久性如何知道引用Spring bean? 问题答案: 持久性提供程序
持久化类(Persistent Object )简称 PO,在 Hibernate 中, PO 是由 POJO(即 java 类或实体类)和 hbm 映射配置组成。 简单点说,持久化类本质上就是一个与数据库表建立了映射关系的普通 Java 类(实体类),例如 User 类与数据库中 user 表通过映射文件 User.hbm.xml 建立了映射关系,此时 User 就是一个持久化类。 持久化类的规
我正在尝试用Spring 3、JPA 2和Hibernate 3制作一个应用程序。我有一个问题,当你坚持一个实体:什么都没发生!数据不插入数据库,也不执行查询。但是,当我使用一个请求,如query.getResultList()选择正常工作。 所以我认为我的问题只是在坚持/更新和事务管理器上,但我不太擅长Spring。你能帮帮我吗? 下面是我的配置文件: 谁能帮帮我吗?