3
외래 키 제약 조건을 지속 두 엔티티 :JPA : 문제 내가 가진
고객 엔티티
@Entity
public class Customer {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
@OneToMany(mappedBy="customer", cascade=CascadeType.ALL)
private List<Facility> facilities;
//Setter and Getter for name and facilities
public void addFacility(Facility facility){
this.facilities.add(facility);
}
}
시설 엔티티
@Entity
public class Facility {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToOne
@JoinColumn(name="CUSTOMER_FK")
private Customer customer;
private String name;
//Setter and Getter, equals and hashcode
...
}
그래서 내 주에 내가이
Customer customer = new Customer();
customer.setName("Wake Forest University");
Facility facility = new Facility();
facility.setName("Tom Cruise");
EntityManager entityManager = Persistence.createEntityManagerFactory("EntityClassPU").createEntityManager();
entityManager.getTransaction().begin();
customer.addFacility(facility);
entityManager.persist(customer);
entityManager.getTransaction().commit();
Wake Forest University
이 성공적으로 Customer
에 삽입되고 Tom Cruise
은 Facility
에 성공적으로 삽입되지만 안에는 CUSTOMER_FK
값이 null입니다. 이는 외래 키 충돌을 지속하지 못하게합니다. 여기서 내가 뭘 잘못 했니?
멋진 분입니다. 고마워요. D –
@HarryPham : 천만에요! –
위대한 !! 이것도 내 문제를 해결 ... – venomrld