Hibernate 5.2从元模型获取自然ID属性 [英] Hibernate 5.2 get natural id properties from metamodel
本文介绍了Hibernate 5.2从元模型获取自然ID属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
因为 SessionFactory#getClassMetadata(java.lang.Class)
已过时,我无法使用 ClassMetadata .我想访问以下方法:
Since SessionFactory#getClassMetadata(java.lang.Class)
was deprecated, I am not able to use ClassMetadata. I would like to access to the following methods:
-
org.hibernate.metadata.ClassMetadata#getNaturalIdentifierProperties
-
org.hibernate.metadata.ClassMetadata#hasNaturalIdentifier
org.hibernate.metadata.ClassMetadata#getNaturalIdentifierProperties
org.hibernate.metadata.ClassMetadata#hasNaturalIdentifier
根据文档,我应该将EntityManagerFactory.getMetamodel()替换为getClassMetada.但是,元模型不包含获取natural-id的方法.我将xml映射用于natural-id,我想获取natural-id的属性名称以创建动态查询.
According to the documentation, I should replace getClassMetada with EntityManagerFactory.getMetamodel(). However, the metamodel does not contain methods to get natural-id. I am using xml mapping for natural-id and I would like to get the property names of the natural-id to create a dynamic query.
<class name="User">
<cache usage="read-write"/>
<id name="id">
<generator class="increment"/>
</id>
<natural-id>
<property name="name"/>
<property name="org"/>
</natural-id>
<property name="password"/>
</class>
查看全文