java - Hibernate 元数据的唯一性

标签 java hibernate metadata

我正在尝试从 hibernate 获取尽可能多的元数据,但我正在努力克服一些限制,例如唯一性。

我一直在尝试使用:

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

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

有什么想法吗?

(顺便说一句,如果重要的话,我正在使用 HBM。几乎想直接解析 HBM 文件,但似乎是一个非常丑陋的解决方案)。

最佳答案

刚刚查看了 AbstractEntityPersister 的源代码。看起来像这样填充:

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

这似乎表明“getPropertyUniqueness”更适合命名为“getAlternateUniqueKey”。 可能,getPropertyUniqueness 只会返回 true

unique-key="true"

而不是为了

unique="true"

在您的hbm.xml中。

关于java - Hibernate 元数据的唯一性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27295474/

相关文章:

java - java中的泛型方法

java - 如何在Java中呈现波形

java - 根据表子集的最大值获取行

iOS在线广播流媒体问题

python - 无法使用Python从视频文件中获取正确的Exif数据

python - 有没有办法在 py 文件中添加元数据以进行分组测试?

java - 使用 Oauth2.0/OpenId 混合验证 Android 应用程序和 Web 应用程序(后端服务器)

java - 如何在 AnyLogic 中指定某个事件(例如按下按钮)后面的汽车目的地

java - 如何使用 JPA (hibernate) 捕获数据库中动态生成的列的值?

java - hibernate 中的 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException