如果我在Query.getSingleResult中找到了一个托管实体。我可以对它进行更改吗,它不能 entityManager.merge 或持久 () 调用。
EntityManager em = ...
TypedQuery<User> query = em.createQuery("SELECT u FROM User u WHERE u.email = :userEmail");
query.setParameter("userEmail", "user@test.de");
User user = query.getSingleResult();
// change the user name and email
user.setName("Test1");
user.setEmail("test1@test.de");
// that all???
您已经通过EntityManager
获取了它,并且尚未分离它,所以是的,它仍然是一个托管实体,您对它所做的任何更改都将写入数据库。