gpt4 book ai didi

java - 如何修改列值? (日本公共(public)事务局)

转载 作者:行者123 更新时间:2023-12-02 08:19:44 24 4
gpt4 key购买 nike

我需要使用 JPA 查询语法(JPQL)更改列的值,我该怎么做?

这是我检索要更新的行的方法:

@PersistenceContext
private EntityManager em;

public Role activateUser(long id) {
Query query = em
.createQuery("SELECT r.id FROM Role r WHERE r.id=" + id);
Role tmpRole = (Role) query.getSingleResult();
tmpRole.setAccountStatus(AccountStattus.ACTIVATED.toString());
//How can i create query to save the changes here?)
return tmpRole;
}

是否有其他替代方法可以修改该行而不先检索它?

从性能的角度来看,您认为最好的方法是什么?

最佳答案

以JPA方式使用JPA:

1) 加载实体,然后将其附加到当前事务。2)改变实体3)提交交易

事务处理可以通过 @Transactional 等方式完成,但 Java EE 5/6 有许多其他方法可以实现这一点。

@PersistenceContext
private EntityManager em;

//@Transactional - Not Java EE, anyway I keep it as notice that the method is invoked in a transaction.
public Role activateUser(long id) {
Role role = em.find(Role.class, id);
role.setAccountStatus(AccountStattus.ACTIVATED.toString());
//Thats all.
}

关于java - 如何修改列值? (日本公共(public)事务局),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5703498/

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