带有Hibernate的组合框

时间:2008-12-18 09:16:56

标签: sql mysql database hibernate

我正在寻找在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映射它。

以前有人遇到过这种情况吗?

1 个答案:

答案 0 :(得分:3)

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

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

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

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