java - 단방향 - onetoone null




null 값을 가진 복합 키를 Hibernate 매핑 (4)

기본 키는 null 일 수 없습니다.

Hibernate를 사용하면 ID에 매핑하는 열 중 하나가 null 값을 가질 수있는 복합 ID를 생성 할 수 있습니까?

이것은 Null 값을 가질 수 있지만 기본 키를 가질 수없는 고유 키를 가진 레거시 테이블을 처리하는 것입니다.

나는 테이블에 새로운 프라이 머리 키 컬럼을 추가 할 수 있다는 것을 알지만, 이것을 피할 수있는 방법이 있는지 궁금합니다.


복합 키의 경우 (데이터베이스에서 PK에서 null을 허용한다고 가정) null을 포함하는 최대 number_of_cols ^ 2 - 1 개의 항목을 가질 수 있습니다 (예 : 2 열의 복합 키의 경우 3 행이 기본 키가 null이고 4 번째가 null없는 PK).


이것은 권하지 않습니다. 대신보기를 사용하고 매핑 할 수 있습니까? 레거시 데이터를 사용하는 경우 COALESCE를 사용하여 기본값을 제공 할 수 있습니다. 복합 키에 많은 문제가 있었고 null 값으로 인해 더 많은 문제가 발생할 것이라고 상상합니다.


당신은 에러를 얻지 않을 것이지만, Hibernate는 복합 컬럼에 대한 NULL 값을 가진 행들을 엔티티에 매핑 할 수 없다. 즉, 결과에서 NULL 값을 가진 엔티티를 가져옵니다.







hibernate