관계 마스터 슬레이브가 있다고 가정합시다. 데이터베이스에는 id = 1 인 마스터 테이블에 한 행이 있습니다. 왜이 다음 코드 작업을 수행합니다분리 된 엔티티를 참조하는 것이 왜 작동합니까? jpa hibernate
Slave slave = new Slave();
slave.setId(1L);
Master master = new Master();
master.setId(1L);
slave.setMaster(master);
em.persist(slave);
그래서 마스터가 분리되어 법인을 이후 생성 슬레이브와 마스터 사이 refence을 커밋합니다. 왜? 나는 thikinf의 경우에 "find"함수를 사용하여 데이터베이스에서 Master 행을 읽어야한다고 생각합니다. 어디서 더 읽을 수 있습니까?
트랜잭션 경계는 무엇인가의 의미에 관심을? 엔티티는 어떻게 주석을 달았습니까? 자세한 내용을 보려면 JPA 2.0 사양을 읽으십시오. –
이 경우 JPA는 주어진 마스터의 ID 만 사용합니다. 이미 테이블에 ID 1L의 마스터가 있으므로 JPA는 새로 생성 된 슬레이브를 삽입합니다. –