【问题标题】:Combo boxes with Hibernate带有 Hibernate 的组合框
【发布时间】:2010-09-27 11:58:14
【问题描述】:

我正在寻找在 Hibernate 对象访问的 Mysql 数据库中维护组合框值的最佳方法。

目前我们有下表:

CREATE TABLE COMBO_VALUES(
   KEY VARCHAR(5) NOT NULL,
   COMBO_TYPE VARCHAR(20) NOT NULL,
   VALUE VARCHAR(100) NOT NULL
   PRIMARY KEY(KEY,COMBO_TYPE)
);
INSERT INTO COMBO_VALUES VALUES('A1', 'COMBO1', 'VALUE1');
INSERT INTO COMBO_VALUES VALUES('A2', 'COMBO1', 'VALUE2');
INSERT INTO COMBO_VALUES VALUES('A3', 'COMBO1', 'VALUE3');

这个表的问题是我们无法用 Hibernate 映射它。

有人遇到过这种情况吗?

【问题讨论】:

    标签: sql mysql database hibernate


    【解决方案1】:

    除非您明确编写可以从数据库配置的用户界面,否则不应将组合框选项存储在数据库中。

    组合框只是一种从枚举列表中选择选项的机制。它是 UI 工件,而不是数据工件。

    您应该存储的是枚举选项列表独立于显示机制,并将这些选项传递给您的用户界面代码,该代码从它们创建一个组合框。

    这样,如果您稍后决定更改为单选按钮、复选框或命令行界面,则只有您的 UI 代码会更改,而数据库表不会更改...

    【讨论】:

      猜你喜欢
      • 2014-08-12
      • 2014-10-12
      • 1970-01-01
      • 2019-03-02
      • 1970-01-01
      • 2013-06-15
      • 2014-12-25
      • 2020-04-01
      • 1970-01-01
      相关资源
      最近更新 更多