由于SessionFactory#getClassMetadata(java.lang.Class)
已被弃用,因此我无法使用ClassMetadata。我想访问以下方法:Hibernate 5.2从元模型中获取自然ID属性
org.hibernate.metadata.ClassMetadata#getNaturalIdentifierProperties
org.hibernate.metadata.ClassMetadata#hasNaturalIdentifier
根据该文件,我应该EntityManagerFactory.getMetamodel取代getClassMetada()。但是,元模型不包含获取自然id的方法。我使用自然id的xml映射,我想获得自然id的属性名称来创建动态查询。
<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>
- 有没有使用这些方法来获取自然ID映射的方法吗?
- 是否有另一种获得ClassMetadata实例的方法?
- 是否有可能获得
entityMetamodel
的实例来替换ClassMetadata?