기본 키 및 외래 키와 동일한 속성을 가진 기존 데이터베이스가 있습니다. 내가 Grails에서 매핑하려고하는데, 문제가있다. 나는 복합 키를 사용하는 경우, Grails는 나를 묻는다 : 나는 Grails: Foreign key as primary key?는하지만 나를 위해 작동하지 않았다이 질문을 읽어Grails에서 외래 키를 기본 키로 매핑하는 방법은 무엇입니까?
CREATE TABLE alojamiento_precios
(
id integer NOT NULL,
CONSTRAINT alojamientoprecios_pkey PRIMARY KEY (id),
CONSTRAINT "FK alojamiento" FOREIGN KEY (id)
REFERENCES alojamiento (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
:
class AccommodationPrice {
Integer id
Accommodation accommodation
static mapping = {
table 'alojamiento_precios'
id generator: 'assigned', name: accommodation, type: 'integer'
accommodation column: 'id'
}
}
이 데이터베이스 테이블은 다음과 같습니다이 내 도메인 클래스입니다 accomodation_id인데, id이기 때문에 내 테이블에이 속성이 없습니다.
class AccommodationPrice {
String price
long accomodationId
static mapping = {
table 'alojamiento_precios'
id generator: 'assigned', name:'accomodationId'
version false
}
static transients = ['accomodation']
Accomodation getAccomodation() {
Accomodation.get(accomodationId)
}
void setAccomodation(Accomodation a) {
accomodationId = a?.id
}
}
당신도 원하는 타입을 선언 할 필요가 없습니다가, GORM은 가정 : 경우
대기. AccomodationPrice의 id로 숙박 ID를 사용 하시겠습니까? 아니면 id/accomodation id가있는 복합 키를 원하십니까? –
AccommodationPrice의 ID로 숙박 ID를 사용하고 싶습니다. – ZoT