Java 更新从HQL中的Select获取的实体

Java 更新从HQL中的Select获取的实体,java,hql,Java,Hql,假设我从SELECT语句中获得了一个类对象列表,如 List<MyClass> something = em.createQuery("SELECT m FROM MyClass m").getResultList(); 将这些类对象更新回数据库的语法是什么? 我是否编写了类似于updatemyclass m SET m=:newObject的东西。setParameter(“newObject”,thing) 这纯粹是关于更新语法的,尽管我知道管理器能够为我获取更改并将其写回数据

假设我从SELECT语句中获得了一个类对象列表,如

List<MyClass> something = em.createQuery("SELECT m FROM MyClass m").getResultList();
将这些类对象更新回数据库的语法是什么? 我是否编写了类似于
updatemyclass m SET m=:newObject的东西。setParameter(“newObject”,thing)

这纯粹是关于更新语法的,尽管我知道管理器能够为我获取更改并将其写回数据库


谢谢

您使用的是传统的hibernate还是hibernate JPA实现? 使用传统的hibernate,您的session.saveOrUpdate(东西)应该可以工作 如果您的代码使用JPA hibernate实现运行,请使用em.merge(thing

如果setName()是在您获取某物的同一hibernate会话中调用的,则更新将在会话关闭后自动进行。或者您可以使用em.saveOrUpdate(thing)将更改合并回数据库。
for (MyClass thing : something)
thing.setName("a name");