Hibernate元数据的唯一性

时间:2014-12-04 13:38:29

标签: java hibernate metadata

我试图从休眠中获取尽可能多的元数据,而且我正在努力解决一些限制问题,比如唯一性。

我一直在尝试使用:

AbstractEntityPersister metadata = (AbstractEntityPersister) sessionFactory.getClassMetadata( clazz );
boolean[] uniqueness = metadata.getPropertyUniqueness();

但似乎唯一性数组总是对所有属性说false,我也使用EntityPersister来获取可空性(getPropertyNullability)并且它工作正常

有什么想法吗?

(我正在使用HBM btw,如果重要的话。几乎想要直接解析HBM文件,但看起来似乎是一个非常难看的解决方案。)

1 个答案:

答案 0 :(得分:1)

刚看了一下AbstractEntityPersister的源代码。似乎这样填充:

propertyUniqueness[i] = prop.getValue().isAlternateUniqueKey();

似乎表明“getPropertyUniqueness”更适合命名为“getAlternateUniqueKey”。 可能,getPropertyUniqueness仅对

返回true
unique-key="true"

而不是

unique="true"

hbm.xml

相关问题