java - Hibernate 框架 - 返回重复字段

标签 java hibernate orm

基本上我正在查询如下表

keywordId | keyword

1             abc 
1             abcd 
2             feg 
2             xyz 
2             tuv

当我传递如下查询时:

"FROM keyword Where keywordId = 2"

我得到以下信息:

2             feg
2             feg
2             feg

这是我正在使用的方法

public List<DataModel> selectRecord(String sqlQuery) {  

    SessionFactory factory = new Configuration().configure().buildSessionFactory();
    Session session = factory.openSession();
    session.beginTransaction(); 
    Query query = session.createQuery(sqlQuery);
    List<DataModel> data = query.list();

     session.clear();
     session.close();
     return data;

}

老实说不太清楚为什么会发生这种情况,但它也发生在具有相同结构的其他表中,可能是FK的

赞赏洞察力! :)

最佳答案

造成这种情况的主要原因是它们在您的数据库中没有标识符属性。 Hibernate 无法理解这一点

2 > feg

与下面的不同。

2 > xyz

最佳实践是为表定义主键。您可以通过访问this link找到有关此问题的更多信息。 .希望这有帮助

关于java - Hibernate 框架 - 返回重复字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9864664/

相关文章:

java - 不使用时如何关闭Jasync Postgresql连接

java - 如何提高 Spark 性能?

php - Doctrine - 计算来自不同表的记录

php - 如何在 Symfony 中设置 ORM 两个实体 ID

java - Hibernate 抛出无法删除或更新父行 : a foreign key constraint fails

postgresql - 如何通过 Kotlin Exposed ORM 使用 Postgresql 枚举类型?

java - 尽管显式编写了另一个构造函数,但是否创建了空构造函数?

java - 在给定时间查找 .wav 的 'volume'

java - EHCache 与 Spring 3.1 和 Hibernate 4 注释 - 使其正常工作

java - 我无法通过管理模块添加产品