2017-11-30 12 views
0

I readed this. 그러나 사용법에 대한 명확한 답이 없습니다.어노테이션 @Column (nullable = false) vs @NotNull 차이

테이블과 열을 만들 때.

사례 1 :

@Column(nullable = false, length = 14) 
@NotNull 
private String something; 

Case2 :

@Column(length = 14) 
@NotNull 
private String something; 

는 동일한 아닌가요? @NotNull 예외를 먼저 throw합니다 그래서 nullable = false 열을 할 이유가 있나요?

답변

1

@Column은 데이터베이스와 관련이 있습니다. Java 코드에서 데이터베이스 스키마를 자동으로 작성하는 경우, nullable = false는 데이터베이스에 액세스하는 다른 응용 프로그램이있는 경우에 유용해야하는 NOT NULL 컬럼을 작성하도록합니다. 또한 앱은 데이터를 데이터베이스에 보내기 바로 전에이 제약 조건을 확인할 수 있습니다.

@NotNull은 Java와 관련이 있습니다. Java는이 속성이 설정되지 않은 경우 예외를 발생시킵니다. 데이터베이스 컨텍스트가 필요하지 않습니다.

두 주석 모두 소리가 비슷하지만 두 가지 용도로 사용됩니다. 하나의 주석을 다른 주석에서 자동으로 유추하는 라이브러리가있을 수 있지만 항상 두 주석을 모두 사용할 수 있습니다. 그렇게하면 @NotNull은 @Column 전에 선택됩니다.

+0

그래서 케이스 1이 100 % 클리어가 좋습니다. – degath

+0

나는 대답을 편집했다. 그것의 약 두 가지 목적. – Mick

+0

내 frend, 감사, 좋은 하루 되세요 :) – degath