【问题标题】:Hibernate output name of columns列的休眠输出名称
【发布时间】:2015-06-11 08:58:27
【问题描述】:

我想从 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;
}

service.java:

 @GET
@Path("/getHeaders")
@Produces(MediaType.APPLICATION_JSON)
public List<Person> getHeaders() {
    return personDao.getHeaders();
}

请帮帮我,如何输出列名?

【问题讨论】:

    标签: java mysql hibernate rest


    【解决方案1】:

    您可以使用 information_schema 数据库,然后使用标准休眠查询定义。在信息模式中,您可以将查询用作:

    select * from COLUMNS WHERE table_name='person';
    

    【讨论】:

    • 谢谢,请多解释。什么信息和我应该放在哪里
    【解决方案2】:

    你可以看到这个帖子:Get column name of property mapped with Hibernate

    ((Column) sessionFactoryBean.getConfiguration().getClassMapping(Person.class.getName())
         .getProperty("myProperty").getColumnIterator().next()).getName();
    

    Get table column names in Hibernate

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-27
      • 1970-01-01
      • 1970-01-01
      • 2015-03-29
      • 2014-08-11
      • 1970-01-01
      相关资源
      最近更新 更多