JavaDB/Hibernate/Swing 自动排序

标签 java hibernate swing derby javadb

我有一个带有 Hibernate 和网络 JavaDB/DerbyDB 的 Java swing 应用程序。有一个表,其结构是这样的:

测试 ID 问题 ID
T1234 Q1
T1234 Q2
T1234 Q3
T1234 Q4
..
..
T1234 Q10

其中 TestID 和 QuestionID 的组合已被定义为主键。每当我添加/插入带有测试 ID 'T1234' 和 QuestionID 'Q10' 的行时,记录就会立即添加到包含 QuestionID 'Q1' 的记录之后。示例:

测试 ID 问题 ID
T1234 Q1
T1234 Q10
T1234 Q3
T1234 Q4

我不希望发生这种情况,因为这在获取记录时给我带来了麻烦。您能否让我知道我该怎么做才能避免这种情况。

我们将不胜感激。

最佳答案

定义你自己的类型

class QuestionID implements Comparable<QuestionID> {…}

并在您的TableModel中使用它而不是String。让它的构造函数提取从数据库返回的 questionID 的数字部分,并让它的 compareTo() 实现仅检查该数字。 Value类是 JTableTest 是一个示例。

关于JavaDB/Hibernate/Swing 自动排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8164359/

相关文章:

java - 将 JPanel 堆叠在其他之上

使用 hql 进行 hibernate 内连接

java - 使用 Transformer 时的 Hibernate 异常 PropertyNotFoundException

Java鼠标监听器

java - 如何使 JTable 单击未选择的内容进行拖动而不是选择

java - 在 Swing 中绘画,闪烁问题

java - 访问注入(inject)的属性会导致 NullPointerException

java - 如何在 Java 中连接两个位集?

java - 出现错误 404 源服务器未找到目标资源的当前表示或不愿意透露该表示存在

java - 模拟 hibernate session