Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaDB/Hibernate/Swing自动排序_Java_Hibernate_Swing_Derby_Javadb - Fatal编程技术网

JavaDB/Hibernate/Swing自动排序

JavaDB/Hibernate/Swing自动排序,java,hibernate,swing,derby,javadb,Java,Hibernate,Swing,Derby,Javadb,我有一个带有Hibernate和网络JavaDB/DerbyDB的JavaSwing应用程序。有一个表的结构如下: 测试问题ID T1234 Q1 T1234 Q2 T1234第三季度 T1234第四季度 .. .. T1234 Q10 其中TestID和QuestionID的组合被定义为主键。每当我添加/插入测试ID为“T1234”和问题ID为“Q10”的行时,该记录会立即添加到包含问题ID“Q1”的记录之后。例如: 测试问题ID T1234 Q1 T1234 Q10 T1234第三季度 T1

我有一个带有Hibernate和网络JavaDB/DerbyDB的JavaSwing应用程序。有一个表的结构如下:

测试问题ID
T1234 Q1
T1234 Q2
T1234第三季度
T1234第四季度
..
..
T1234 Q10

其中TestID和QuestionID的组合被定义为主键。每当我添加/插入测试ID为“T1234”和问题ID为“Q10”的行时,该记录会立即添加到包含问题ID“Q1”的记录之后。例如:

测试问题ID
T1234 Q1
T1234 Q10
T1234第三季度
T1234第四季度

我不希望这种情况发生,因为这会给我在获取记录时带来麻烦。你能告诉我该怎么做来避免这种情况吗

感谢您的帮助。

两个想法:(a)将QuestionID存储为1、10、3、4等,并在应用程序中添加“Q”前缀,或(b)将QuestionID存储为0填充,如:Q001、Q010、Q003、Q004等。

定义您自己的类型

class QuestionID implements Comparable<QuestionID> {…}
class QuestionID实现了可比较的{…}

并在
表格模型
中使用它,而不是
字符串
。让它的构造函数提取从数据库返回的
questionID
的数字部分,并让它的
compareTo()
实现只检查该数字。类is
JTableTest
就是一个例子。

显然,数据库存储记录的顺序不一定与插入记录的顺序相同。因此,现在由于我必须按照将记录输入数据库的相同顺序获取记录,因此在进行插入时我使用自动递增计数器,在获取记录时使用order by子句(在计数器上)。

获取记录有什么问题?如果需要对它们进行排序,则必须在“选择”菜单中指定query@user1041345你的代码有没有可能我自己也在试着做类似的事情