所以,我有两个实体:刷新一个一对多加入过了一会儿关系
Person.java
@Entity
@Table(name = "persons")
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@OneToMany(mappedBy="person", cascade = CascadeType.REMOVE)
@JsonIgnoreProperties("person")
private Set<Address> addresses;
//getters and setters
}
Address.java
@Entity
@Table(name = "addresses")
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@NotNull
@ManyToOne
@JoinColumn(name = "person_id", nullable = false)
@JsonIgnoreProperties("addresses")
private Person person;
//getters and setters
}
后来在我的代码中我有一个personDb对象(已保存在数据库中),然后我添加地址:
Address address = new Address();
address.setPerson(personDb);
address = addressRepository.save(address);
现在我有地址对象与人物附加到它,但我的personDb仍然没有任何地址附加到它。即使我尝试从数据库中获取它一次:
personRepository.findOne(personDb.getId());
我有null应该设置的地址。我也试图改变我的Person类注释是这样的:
@OneToMany(mappedBy="person", fetch = FetchType.EAGER, cascade = CascadeType.REMOVE)
或改变CascadeType的所有,但没有什么帮助。将数据添加到数据库之后,我可以如何将地址加载到我的personDb对象?