获得Hibernate元数据(实体的属性和它所对应的数据库表的列名)

获得Hibernate元数据(实体的属性和它所对应的数据库表的列名)

 

有时我们需要得到Hibernate实体的属性和它所对应的数据库表的列名.下面是获取的方式:

 

>>得到Hibernate实体的属性和它所对应的数据库表的列名

Configuration cfg = new Configuration().configure("hibernate_dw.cfg.xml");
PersistentClass clazz = cfg.getClassMapping("com.xxx.orm.dwprod.breport.DwOrdersPl");
Iterator<Property> it = clazz.getPropertyIterator();
while (it.hasNext()) {
    Property property = it.next();
    System.out.println(property.getName());
    Iterator<Column> iterator = property.getValue().getColumnIterator();
    while (iterator.hasNext()) {
       System.out.println(iterator.next().getName());
    }
}

 

>>得到Hibernate实体对应的数据库表的列名

Configuration cfg = new Configuration();
cfg.addResource("com/xxx/orm/dwprod/breport/DwOrdersPl.hbm.xml");
PersistentClass clazz = cfg.getClassMapping("com.xxx.orm.dwprod.breport.DwOrdersPl");
   Table table = clazz.getTable();
   Iterator<Column> iterator = table.getColumnIterator();
   Column column = null;
   while (iterator.hasNext()) {
      column = iterator.next();
      System.out.println(column.getName());
   }

 

你可能感兴趣的:(Hibernate)