Shy*_*yam 4 hibernate primary-key
我们是否有可能以编程方式找到Hibernate实体的主键字段(类似于JPA PersistenceUnitUtil)?
SessionFactory提供了一个名为getClassMetadata()的方法来获取类的元数据对象(即ClassMetadata)
要获取实体的标识符属性的名称,请使用ClassMetadata.getIdentifierPropertyName()
ClassMetadata employeeMeta = sessionFactory.getClassMetadata(Employee.class);
System.out.println("Name of the identifier property of the employee entity :" + employeeMeta .getIdentifierPropertyName());
Run Code Online (Sandbox Code Playgroud)
要获取托管实体实例的标识符属性的值,请使用ClassMetadata.getIdentifier(Object entity,SessionImplementor session)
例如:假设您有一个从会话加载的托管实体实例:
List<Employee> employeeList = (List<Employee>)session.createQuery("from Employee where gender ='F'").list();
ClassMetadata employeeMeta = session.getSessionFactory().getClassMetadata(Employee.class);
for (Employee employee : employeeList ) {
System.out.println("Value of the Primary key:" + employeeMeta.getIdentifier(employee , session) );
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10239 次 |
| 最近记录: |