Java 休眠列的输出名称

Java 休眠列的输出名称,java,mysql,hibernate,rest,Java,Mysql,Hibernate,Rest,我想从MySql上的数据库表中输出列的名称。我在Java、maven、tomcat、hibernate上使用Rest 此代码不起作用: personDao.java: public List<Person> getHeaders() { List<Person> persons = null; Session session = null; try { session = sessionFactory.openSession();

我想从MySql上的数据库表中输出列的名称。我在Java、maven、tomcat、hibernate上使用Rest

此代码不起作用:

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;
}
public List getHeaders(){
列出人员=空;
会话=空;
试一试{
session=sessionFactory.openSession();
session.beginTransaction();
persons=session.createQuery(“显示来自person的字段”).list();
session.getTransaction().commit();
}捕获(例外情况除外){
if(会话!=null){
session.getTransaction().rollback();
}
}最后{
if(会话!=null){
session.close();
}
}
返回人员;
}
service.java:

 @GET
@Path("/getHeaders")
@Produces(MediaType.APPLICATION_JSON)
public List<Person> getHeaders() {
    return personDao.getHeaders();
}
@GET
@路径(“/getHeaders”)
@产生(MediaType.APPLICATION_JSON)
公共列表getHeaders(){
return personDao.getHeaders();
}

请帮助我,如何输出列的名称?

您可以使用信息模式数据库,然后使用标准的hibernate查询定义。在信息架构中,可以将查询用作:

select * from COLUMNS WHERE table_name='person';
你可以看到这个帖子:


还有

谢谢,请解释更多。什么信息,我应该放在哪里
((Column) sessionFactoryBean.getConfiguration().getClassMapping(Person.class.getName())
     .getProperty("myProperty").getColumnIterator().next()).getName();