Jpa 使用JPQL更新方法用另一个实体更新一个实体
我试图用一对多关系替换JPQL中的另一个实体,但不知道如何正确表达JPQLJpa 使用JPQL更新方法用另一个实体更新一个实体,jpa,eclipselink,jpql,Jpa,Eclipselink,Jpql,我试图用一对多关系替换JPQL中的另一个实体,但不知道如何正确表达JPQL update PersonInstitution pi set pi.designation = (select d from Designation d where d.id = 50) where pi.designation.id = 34] 我想用所有人格机构实体的另一个名称(id 50)替换一个名称(id 34)。但它会带来错误 我可以加载所有对象并编辑它们并将它们保留回去,但我认为这是一种效率较低的方法 我
update PersonInstitution pi set pi.designation = (select d from Designation d where d.id = 50) where pi.designation.id = 34]
我想用所有人格机构实体的另一个名称(id 50)替换一个名称(id 34)。但它会带来错误
我可以加载所有对象并编辑它们并将它们保留回去,但我认为这是一种效率较低的方法
我将JPA与EclipseLink 2.0一起使用,根据规范,它可能无法与JPQL一起使用
update_clause ::= UPDATE entity_name [[AS] identification_variable] SET update_item {, update_item}*
update_item ::= [identification_variable.]{state_field | single_valued_object_field} = new_value
您必须手动执行此操作,否则可以尝试使用本机查询