나는 다음과 같은 클래스가 병합 대일 관계를 초기화하지 않습니다 항목, CardNumber = 123, CompanyId = 3을 설정하고 session.merge()로 저장하십시오. ID가 3 인 회사가 존재하며 session.load()로로드 할 수 있습니다. 회사는 항목에 대한 최대 절전 모드 - 관계가 없습니다.최대 절전 모드 후
반환 된 지속 된 항목에는 getCompanyId() == 3이지만 getCompany() == null이 있습니다.
왜 새로 생성 된 객체에서 Hibernate에 의해 many-to-one 관계가 초기화되지 않는가? "companyId"특성이 insert/update = false가되도록 전환하면 기존 Company 개체를 대신 설정할 수 있지만 Company의 ID 대신 getCompanyId() == null을 설정할 수 있습니다.
데이터베이스에서 COMPANYID 열이 올바르게 저장됩니다.
나는 최대 절전 모드 3.6.10을 사용하고있다. 데이터베이스에서 가져온 개 이상의 지정된 엔티티 상태, 널 많은-to-one 연관은 또한 하나 가져온 복사됩니다 병합 사본 때문에
Entry entry = new Entry();
entry.setCardNumber(123);
entry.setCompanyId(3);
entry = session.merge(entry);
session.flush();
session.refresh(entry);
:
make lazy = "true" –
감사합니다. 관계 또는 클래스에 있습니까? –