由於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?