데이터베이스 매핑을 위해 grails GORM을 사용하고 값으로 채워진 데이터베이스로 oracle을 사용하고 있습니다. 내 질문은 도메인 클래스에서 Foreign key와 같은 새로운 제약 조건을 정의 할 수 있습니까? 내 레거시 db의 기본 테이블에 정의 된? grails 애플 리케이션은 여전히 제약 조건을 받아 들일 것인가? 제약 조건은 데이터베이스 권리와 정확히 일치해야하지 않습니까? 다음과 같이Grails 도메인 클래스 제약 조건과 레거시 데이터베이스 제약 조건
답변
예, 도메인 클래스에 정의한 제약 조건은 데이터베이스에있는 제약에 관계없이 존중됩니다. 2가 실제로 관련된 유일한 시간은 Hibernate가 생성 된 DDL에 영향을주는 특정 제약 조건이있는 경우 (대부분 프로덕션 환경에서 수행하지 않는) 사용자를 위해 DDL을 생성하게하는 경우입니다. 당신은 이미 데이터베이스를 가지고 있기 때문에 당신은 거의 확실하게 꺼져 있습니다.
EDIT :
DDL은 size
제약 인 영향을 제한의 예. size: 5..15
과 같이 String 필드를 제한하면 기본적으로 생성되는 DDL은 15 자의 열을 만듭니다. 앱이 DDL을 생성하도록 허용하지 않는 경우 유효성 검사 시간에 여전히 제약 조건이 적용되며 속성에 15 자 이상 또는 5 미만이 있으면 유효성 검사가 실패합니다. 유효성 검사가 통과되고 데이터가 데이터베이스로 보내지면 프레임 워크는 모든 것이 정상이 될 것이라고 가정합니다. 그렇지 않은 경우, 대응하는 예외가 슬로우 될 가능성이 있습니다. 예를 들어 String에 12 문자가 있으면 앱에서 유효성 검사를 통과하고 데이터베이스로 전송됩니다. 데이터베이스 열의 길이가 8 자이면 SQLException을 얻습니다. 나는 그것이 의미가 있기를 바랍니다.
당신은 DB 이러한 특성의 표현이 필요하지 않습니다이로 DB에 의한 저장되지 않습니다 클래스의 속성을 정의 할 수 있습니다 정의됩니다
는class Person {
String name
static transients = ['name']
}
정보를 볼 수에 대한 transients . 2.x에서 transient는 here 문서에 나열된대로 자동 바인딩되지 않으므로 bindable: true
을 명시 적으로 수행해야합니다.
- 1. MyISAM의 제약 조건과 같은 제약 제약 조건
- 2. Grails의 도메인 제약 조건 정의
- 3. 제약 조건 확인 Grails 데이터베이스 이전 스크립트
- 4. Grails --- 로더 제약 조건 위반
- 5. 크로스 도메인 클래스 제약
- 6. MySQL : 레거시 데이터베이스 제약 문제
- 7. 도메인 개체의 제약 조건 그룹화
- 8. Groovy 클래스의 속성에 제약 조건 추가 (Grails 도메인 클래스가 아님)
- 9. 데이터베이스 의미 하나의 제약 조건
- 10. 데이터베이스 테이블 제약 조건 쿼리
- 11. Grails : 단위 테스트 도메인 클래스 제약 조건이 잘못되었습니다.
- 12. 자바 제약 조건과 메모리 제약 조건의 차이점은?
- 13. int 열에 대한 Grails 제약 조건 제약 throws java.lang.IllegalArgumentException
- 14. self.canDisplayBanner 제약 조건과 충돌합니다.
- 15. 일반 제약 조건과 상속
- 16. Grails 글로벌 제약
- 17. 조건부 제약 조건 또는 형식 제약 조건
- 18. Grails 검증 no 제약 블록
- 19. Grails : 커스텀 제약 조건 에러 메시지
- 20. 정규식 제약 조건 유효성 검사 - grails
- 21. Postgresql 제약 조건 변경
- 22. 도메인 클래스 (테스트 제약)에 대한 단위 테스트 케이스 - Grails
- 23. 필드 사이의 관계에 대한 Grails 도메인 클래스 제약
- 24. 참조 제약 조건 "FK__tbl8_update__HID__55F4C372"
- 25. Xcode 8의 제약 조건 문제
- 26. Negamax의 제약 조건 이해
- 27. 제약 조건 유효성 검사
- 28. Redshift - 제약 조건 추출
- 29. DELETE 문이 REFERENCE 제약 조건과 충돌했습니다.
- 30. Grails inList 제약 조건 오류 메시지에서 inList 맵의 값을 얻습니다.
예, 도움이됩니다. 감사합니다. – Rradhak