gpt4 book ai didi

java - 当一个表与 hibernate 中的另一个表链接时更新该表中的列

转载 作者:行者123 更新时间:2023-12-02 09:47:21 25 4
gpt4 key购买 nike

我想使用 HQL 更新用户类中的地址列。 address_id 使用如下所示的结构链接到地址。我需要有关如何使用 HQL 执行此操作的帮助。

 class User{
int id;
String firstName;
String lastName;

@OneToOne
@JoinColumn(name="address_id")
@NotFound(action = NotFoundAction.IGNORE)
private Address address ;
}

class Address{
@Id
@Column(name="address_id")
int address_id;
String city;
String state;
}

这就是我的 HQl 查询的样子,但我不确定如何将整个对象作为查询参数传递

String hql = "update from User set id= null where address=:address ";

最佳答案

您可以使用注释@Query@Modifying

通过以下方式检索地址对象,

Address address = select address from address where address.id=XYZ 

后者可以根据需要使用address对象。IE。

@Modifying
@Query("update from User set id= null where address=?1";
void updateAddress(address);
// fyi here ?1 rectifies argument id

关于java - 当一个表与 hibernate 中的另一个表链接时更新该表中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56547110/

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