Java 休眠列的输出名称
我想从MySql上的数据库表中输出列的名称。我在Java、maven、tomcat、hibernate上使用Rest 此代码不起作用: personDao.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();
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();