2012-03-02 1 views

답변

3

시나리오에서는 개체가 유효성 검사를 통과하지만 저장시 오류가 발생합니다.

도메인 클래스 제약 아무것도 확인할 수 있습니다, 그래서 "그들은 확인 일이"validate()save()에 대한 호출 사이의 변화가, 다음은 전자가 성공 전적으로 가능하고 경우에 후자는 실패합니다.

여기에 고유 때문에 실패

  • Book.ISBN
  • myBook.save()
  • 을 저장 myBook 같은 ISBN 또 다른 책을
  • myBook.validate()가 호출 된 고유 한 contraint을 가지고 전달하는 매우 간단한 예입니다 ISBN의 제약 조건이 이제 실패합니다.
3

데이터베이스에 삽입 또는 업데이트가 성공하지 못하는 추가 제약 조건이있는 경우 저장하면 오류가 발생합니다. 데이터베이스에 추가 제약 조건이없고 인프라 중단을 막지 못하면 save()validate()이 참일 경우 어떤 이유로 든 실패 할 것이라고 생각하지 않습니다.

+0

expa 데이터 유형, 데이터 크기, 외래 키 관계, 비 null 제약 조건, 권한 (앱에 테이블에 대한 쓰기 권한이 없음, nextval 시퀀스 등)을 염두에 두어야 할 '추가 제약 조건' . 그것들은 모두 과거에 나를 물 렸습니다. doelleri와 Don의 +1은 모두 유효한 답변입니다. –