Hibernate 5.2从元模型获取自然ID属性 [英] Hibernate 5.2 get natural id properties from metamodel

查看:378
本文介绍了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>

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆