您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

同一张表上的2个JPA实体

同一张表上的2个JPA实体

最简单的方法是将不经常使用的属性映射为惰性

<property name="extendedProperty" lazy="true" />

... or using Annotations ...

@Basic(fetch = FetchType.LAZY)
String getExtendedproperty() { ... }

Hibernate最初不会加载此类属性。相反,它们将按需加载(首次访问时)。您可以通过fetch all properties在HQL查询中使用子句来强制Hibernate加载所有属性

另一种可能的情况是实际上将两个完全独立的实体映射到同一张表,但使其中一个不变。请记住,Hibernate 它们视为不同的实体,并且第一级/第二级缓存对于这两者是完全分开的(这就是不变性很重要的原因)。

你将 能够实现通过继承映射此功能,因为Hibernate 会返回一个实际的具体的实体类型。看看我对HibernateInheritanceStrategy问题的回答以获取详细说明。

其他 2022/1/1 18:22:41 有465人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶