gpt4 book ai didi

java - Hibernate多对一属性在通过id持久化时为null

转载 作者:太空宇宙 更新时间:2023-11-04 10:23:43 25 4
gpt4 key购买 nike

我有以下一对多关系:

@Entity
class User {
@Id
@Column(name = "id_user", nullable = false)
private Integer idUser
// Other attribute
}

@Entity
class Car {
@Id
@Column(name = "id_car", nullable = false)
private Integer idCar

@Column(name = "id_user", nullable = false)
private Integer idUser

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_user", referencedColumnName = "id_user", nullable = false, insertable = false, updatable = false)
private User user
// Other attributes
}

创建汽车并按如下方式设置idUser时:

Car car = new Car();
car.setIdUser(idUser);
entityManager.persist(car);

我希望 car.getUser() 使用提供的 ID 延迟加载用户,但它是 null 如何初始化这个新实体的延迟行为?我不想执行 car.setUser(someUser),因为这意味着我必须自己检索用户。

最佳答案

您可以创建一个新用户并设置用户的ID并将其添加到汽车

User user = new User();
user.setId(userId);//userId is the id of user in db
car.setUser(user)

关于java - Hibernate多对一属性在通过id持久化时为null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50798208/

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