所以,我有兩個實體:刷新一個一對多加入過了一會兒關係
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對象?