Java 使用hibernate获取数据库元数据

Java 使用hibernate获取数据库元数据,java,hibernate,jdbc,Java,Hibernate,Jdbc,我需要从表中获取列名,我在此处引用了此链接: 它显示了使用jdbc获取元数据,我想知道有没有类似的hibernate方法?我使用mysql和oracle作为数据库。您可以使用以下代码: String[] columnNames = sessionFactory.getClassMetadata(Java.class).getPropertyNames(); Type[] columnTypes = sessionFactory().getClassMetadata(Java.class).ge

我需要从表中获取列名,我在此处引用了此链接:


它显示了使用jdbc获取元数据,我想知道有没有类似的hibernate方法?我使用mysql和oracle作为数据库。

您可以使用以下代码:

String[] columnNames = sessionFactory.getClassMetadata(Java.class).getPropertyNames();

Type[] columnTypes = sessionFactory().getClassMetadata(Java.class).getPropertyTypes();

Hibernate需要您硬编码表名和列名,以便映射实体。为什么要动态获取它们?只要再硬编码一次就行了。它非常有用。谢谢你,卡米尔
String[] columnNames = getSessionFactory().getClassMetadata(Employee.class).getPropertyNames();

org.hibernate.type.Type[] columnTypes = getSessionFactory().getClassMetadata(Employee.class).getPropertyTypes();