은 내가 -simplified와 Grails 애플리케이션이있다. (즉, 그들은 DB에서 기본 키가되어야합니다).Grails의 도메인 제약 조건 정의
어떻게 이러한 제약 조건을 정의 할 수 있습니까?
미리 감사
루이스
은 내가 -simplified와 Grails 애플리케이션이있다. (즉, 그들은 DB에서 기본 키가되어야합니다).Grails의 도메인 제약 조건 정의
어떻게 이러한 제약 조건을 정의 할 수 있습니까?
미리 감사
루이스
이이 composite primary key DB를에 해당 매핑을 선언해야합니다되고 싶어하기 때문에 (다음 표를 생성
class Capacity implements Serializable {
Date month
Company company
String note
...
static mapping = {
id composite:['month', 'company']
}
}
을 MySQL) :
CREATE
TABLE capacity
(
MONTH DATETIME NOT NULL,
company_id bigint NOT NULL,
version bigint NOT NULL,
note VARCHAR(255) NOT NULL,
PRIMARY KEY (MONTH, company_id),
INDEX FKFBF514BA69595C7A (company_id)
)
ENGINE=MyISAM DEFAULT CHARSET=latin1
감사합니다! 이것은 정확히 내가 무엇을 찾고 있었는지 – Luixv
'validate()'도 여전히 유일성을 유지합니까? 그렇지 않다면이 대답과 Dave의 조합이 필요하다고 생각합니다. 그렇지 않으면 Grails 유효성 검사 오류 대신 SQL 제약 조건 예외가 발생합니다. –
@RobHruska 제약 조건 중 일부는 유효성을 검사하기 위해 데이터베이스의 상태를 사용하고 단위 테스트에서는 존재하지 않습니다 (Grails 2.0 이전). –
다음과 같은 형식이어야합니다.
static constraints = {
month(blank:false, nullable:false, unique:'company')
company(blank:false, nullable:false)
}
http://grails.org/doc/latest/ref/Constraints/unique.html을 살펴보십시오.
그저 Grails 일뿐 Grails의 Groovy는 아닙니다. –