例如,我有链接实体User和Address
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "address_id", referencedColumnName = "id")
private Address address;
}
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@OneToOne(mappedBy = "address")
private User user;
@Column(name = "street")
private String street;
}
如何在两个方向上正确保存这些实体?如果我这样做:userRepository.save(user);我必须为用户定义地址,但此地址具有字段“用户”等...如果我这样做:addressRepository.save(address);我必须为address定义user,但此用户具有字段“address”等...
请举例说明
关于@OneToMany和@ManyToOne的问题。例如:Address a1 = new Address();int getName = new int();String getString();setAddress(a1,a2,...)
我应该做:sort();a2.setUser(user)或否?为什么Hibernate不能理解,user.setAddress(a1,a2,...)意味着a1引用user,a2引用user?
1条答案
按热度按时间2vuwiymt1#
你可以在User类中创建一个公共方法,就像这样:
我相信这应该行得通