날짜가있는 항목이있는 테이블이 필요합니다. 나는 일반적으로 그것을 어떻게 가있는 테이블을 가지고 있었다 : someId [고유하지 않습니다] startDate를 endDate가시작과 끝 날짜를 기반으로 한 GORM 복합 키
이 세 가지 기본 키를 만들 것 + 나는 확실히 날짜가 겹치지 않도록하기 위해 몇 가지 제약 조건을 추가 등
데이터베이스의 관점에서 볼 때 모든 것이 훌륭하지만, Grails에서 도메인 클래스를 작성하여 처리하려고 할 때 ... 잘 생각하면 어렵다고 생각합니다.
Id StartDate EndDate Name
1 2011-11-01 2011-11-05 A
1 2011-11-06 2011-11-10 B
및 objectA에 이름 A를 objectB를 할당 : 를 ClassA hasOne의 ClassB가 내가 ClassB가에 항목이 [ClassB가이 날짜가 원거리 것] : 방법은 내가 관계가있는 경우 있는지 확인 있나요 2011-11-03에서 objectA를 검색하면 2011-11-07에 objectB가 B라는 이름으로 나타납니다.
답변 주셔서 감사합니다.하지만 해결책이 아닙니다. 데이터에 액세스 할 때마다 검색을해야합니다. 나는 간단한 findBy를 사용할 수 없다 ... 나의 경우에는 그 사이에 작동하지 않을 것이므로 기준 검색 쿼리를 수행해야한다. 그렇지 않으면 Foo를 찾은 다음 Bar를 찾아야 할 것이다. 내 경험에 따르면 복합 키는 여러 테이블 (또는 두 테이블 결합)을 여러 개 선택하는 것보다 항상 빠릅니다. – Krystian