Java 如何通过Hibernate获取mysql中所有可能的枚举类型值

Java 如何通过Hibernate获取mysql中所有可能的枚举类型值,java,mysql,hibernate,enums,Java,Mysql,Hibernate,Enums,我想用数据库中某一列的值填充下拉列表,该列的数据类型为ENUM,其值为A、B、C。我已经阅读了许多问题和答案,建议在java中创建一个ENUM,然后将其映射到该列 但我认为这并不一致。如果我在数据库中进行了更改,却忘记在Java枚举中反映该更改,该怎么办?这可能会造成一个很大的错误,因为对双方进行编辑是完全静态的 有没有更好的解决办法?我希望通过hibernate从数据库列中获取所有可能的值,而不是从反映数据库中的列的Java枚举中获取这些值。我相信会有更好的方法,但请尝试一下 在mysql中,

我想用数据库中某一列的值填充下拉列表,该列的数据类型为ENUM,其值为A、B、C。我已经阅读了许多问题和答案,建议在java中创建一个ENUM,然后将其映射到该列

但我认为这并不一致。如果我在数据库中进行了更改,却忘记在Java枚举中反映该更改,该怎么办?这可能会造成一个很大的错误,因为对双方进行编辑是完全静态的

有没有更好的解决办法?我希望通过hibernate从数据库列中获取所有可能的值,而不是从反映数据库中的列的Java枚举中获取这些值。

我相信会有更好的方法,但请尝试一下

在mysql中,要获取列的描述,可以使用:

desc tableName colName
e、 g描述测试名称

因此,要在Hibernate中获取此行:

final Session session = sessionFactory.openSession();
SQLQuery q = session.createSQLQuery("desc tableName colName");
List<Object[]> descRow = q.list().get(0);

//然后迭代实体

您的域类上列的数据类型是什么?就目前而言,我保留了字符串。因为我在寻找更好的解决方案。@10sw33是的,不是