我想在MySql上从我的数据库表中输出列的名称。我使用Rest on Java,maven,tomcat,hibernate。
此代码不起作用:
personDao.java:
public List<Person> getHeaders() {
List<Person> persons = null;
Session session = null;
try {
session = sessionFactory.openSession();
session.beginTransaction();
persons = session.createQuery("SHOW FIELDS FROM person").list();
session.getTransaction().commit();
} catch (Exception ex) {
if (session != null) {
session.getTransaction().rollback();
}
} finally {
if (session != null) {
session.close();
}
}
return persons;
}
service.java:
@GET
@Path("/getHeaders")
@Produces(MediaType.APPLICATION_JSON)
public List<Person> getHeaders() {
return personDao.getHeaders();
}
请帮帮我,如何输出列的名称?
答案 0 :(得分:0)
您可以使用information_schema数据库,然后使用标准的hibernate查询定义。在信息模式中,您可以使用查询:
select * from COLUMNS WHERE table_name='person';
答案 1 :(得分:0)
你可以看到这篇文章:Get column name of property mapped with Hibernate
((Column) sessionFactoryBean.getConfiguration().getClassMapping(Person.class.getName()) .getProperty("myProperty").getColumnIterator().next()).getName();