基本上我正在查询如下表
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/