gpt4 book ai didi

java - 无法获取更新查询以与 Hibernate 一起使用

转载 作者:行者123 更新时间:2023-12-02 12:06:56 26 4
gpt4 key购买 nike

我有一个简单的更新查询只是为了检查更新查询是否有效:

 this.openDBTransaction();
Query updateQuery = session.createQuery(
"UPDATE User AS usr SET usr.failedLogins=666 WHERE usr.id='USER_3000'"
);

int result = updateQuery.executeUpdate();
this.closeDBTransaction();

但不知何故数据库没有更新为所需的值。 结果为1,所以发生了一些事情,但肯定不会更新查询。

知道发生了什么吗?

最佳答案

您应该使用 @Transactional 注释,以便编译器知道事务正在操作数据库,从而允许执行数据操作查询,或者将其简单地作为数据定义语言查询执行。例如,看下面的代码片段,

@Transactional
public Employee editEmployee(Employee employee) { //employee is the data you got through post
return entityManager.merge(e1);

}

此外,最佳实践是始终实现数据访问对象接口(interface)及其实现,并在实现中定义查询。我希望这会有所帮助。

关于java - 无法获取更新查询以与 Hibernate 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46839955/

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