从不同的表中继承自超类的Hibernate Load属性?

时间:2015-02-27 07:00:12

标签: java hibernate caching infinispan second-level-cache

我有以下hibernate的情况。

Java类层次结构

 Class A ; ( Table X) 

 Class B extends Class A :
 Class C extends Class A :

 Class D extends Class B :
 Class E extends Class C :

所有这些类都有hbm.xml文件,数据库中只有一个表(表X)。

在hbm文件中,对应于class A的hbm是根目录,而所有其他对象 hbm fiels是那个根的hbms。

现在我想使用hibernate L2缓存来缓存class Bclass D

因此我添加了一个新表(表Y)来表示class Bclass D。 现在与class B相关的hbm文件是一个根级别的hbm,我可以缓存B和D实体。

但是,在新表中,我只想添加仅与class Bclass D相关的列。既然我不想打破 java类层次结构,我希望hibernate在加载class Bclass D条目时加载从supper类继承的其他属性。我认为 这可以将class B的hbm定义为<joined-subclass>,但这样我就失去了缓存能力。

是否有一种方法可以从不同的表中继承超类的负载属性?在此解决方案中,我的缓存要求应该保留。

我使用infinispan作为缓存提供程序。

0 个答案:

没有答案