gpt4 book ai didi

java - Hibernate迭代器检索相同的数据

转载 作者:行者123 更新时间:2023-12-01 04:57:02 25 4
gpt4 key购买 nike

我有一个通过 hibernate 连接到数据库的表单。通过这个表单,用户可以进去填写姓名、地址、电子邮件信息等字段。信息填写完毕后,他们将提交表单。提交后,所有信息将显示在同一页面的数据表中。

我正在使用 session 与数据库交互。但是,从数据库填充的数据似乎不正确。

public void somefunction() {

//The sessionfactory is being configured in another class
Session s = sessionFactory.openSession();
Transaction tx= null;

try {
tx= s.beginTransaction();

List userInformation = s.createQuery("FROM database1 WHERE PKEY ='"+somevalue+"'").list();

for(Iterator iterator = userInformation.iterator; iterator.hasNext();){

//database1 is an entity bean
database1 x = (database1) iterator.next();

System.out.print(x.getName());
}
tx.commit();
}
catch(Exception) {......}
finally {.....}
}

用户提交第一个“用户”及其信息后,所有内容都会显示在数据表中。但是,当他们输入第二个“用户”时,数据表上显示的行与第一个用户的信息相同,即使数据不同。我认为代码看起来是正确的,所以我不确定这可能有什么问题。

最佳答案

您应该使用主键来获取正确的值。 List userInformation = s.createQuery("FROM database1 where yourId='PK'").list();

在您的查询中,它始终会返回第一行。

关于java - Hibernate迭代器检索相同的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13945161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com