【发布时间】:2012-01-09 21:18:16
【问题描述】:
我需要从表中获取列名,我在此处引用了此链接:http://www.kodejava.org/examples/163.html
显示使用jdbc获取元数据,我想知道有没有类似的hibernate方法?我有 mysql 和 oracle 作为数据库。
【问题讨论】:
-
Hibernate 需要您硬编码表和列名称以映射实体。为什么要动态获取它们?只需再次对其进行硬编码。
我需要从表中获取列名,我在此处引用了此链接:http://www.kodejava.org/examples/163.html
显示使用jdbc获取元数据,我想知道有没有类似的hibernate方法?我有 mysql 和 oracle 作为数据库。
【问题讨论】:
您可以使用以下代码:
String[] columnNames = sessionFactory.getClassMetadata(Java.class).getPropertyNames();
Type[] columnTypes = sessionFactory().getClassMetadata(Java.class).getPropertyTypes();
【讨论】:
String[] columnNames = getSessionFactory().getClassMetadata(Employee.class).getPropertyNames();
org.hibernate.type.Type[] columnTypes = getSessionFactory().getClassMetadata(Employee.class).getPropertyTypes();
【讨论】: