【问题标题】:How can I get All possible values of enum type in mysql through Hibernate如何通过 Hibernate 获取 mysql 中枚举类型的所有可能值
【发布时间】:2014-12-22 06:24:58
【问题描述】:

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

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

有没有更好的解决方案来解决这种情况?我想通过休眠从数据库列中获取所有可能的值,而不是从反映数据库中列的 Java 枚举中获取。

【问题讨论】:

  • 你的域类列的数据类型是什么?
  • 只是现在我保留了字符串。因为我正在寻找更好的解决方案。

标签: java mysql hibernate enums


【解决方案1】:

我相信会有更好的方法,但试试这个。

在 mysql 中获取可以使用的 col 的描述:

desc tableName colName

例如 desc 测试名称

所以要在 Hibernate 中获取这一行:

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

//然后遍历实体

【讨论】:

  • @10sw33 是的,不是
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-27
  • 1970-01-01
  • 2013-05-28
  • 2015-06-12
  • 2011-01-21
相关资源
最近更新 更多