Java 지속성 / JPA: @Column vs @Basic
@Column
★★★★★★★★★★★★★★★★★」@Basic
주석을 JPA로 표시합니까?함께 사용할 수 있나요?함께 사용해야 합니까?아니면 둘 중 하나로 충분할까요?
@Basic
아트리뷰트속성 로드 지연 여부 및 null 여부를 지정할 수 있는 매개 변수가 있습니다.@Column
를 사용하면 Atribute를 유지할 데이터베이스의 컬럼 이름을 지정할 수 있습니다.
둘 중 하나를 지정하지 않으면 기본 동작이 나타나므로 일반적으로 특별한 경우를 제외하고 하나만 사용합니다.
따라서 속성을 느리게 로드하고 열 이름을 지정하려면 다음과 같이 하십시오.
@Basic(fetch=FetchType.LAZY)
@Column(name="WIBBLE")
는, 「」만 유효하게 .@Column
충분했을 거예요
@djna의 답변에 덧붙여, 주의할 필요가 있습니다.@Basic
해야 @OneToMany
,@ManyToOne
★★★★★★★★★★★★★★★★★」@ManyToMany
. 중 할 수 이 중 하나만 속성으로 지정할 수 있습니다.
@Column
★★★★★★★★★★★★★★★★★」@JoinColumn
데이터베이스 열 속성을 설명하기 위해 이러한 항목과 함께 지정할 수 있습니다.
이러한 주석 세트는 함께 사용할 수 있지만 한 번에 각 세트의 주석 하나만 사용할 수 있습니다.
Basic은 기본 필드용으로 설계되어 있습니다.
http://en.wikibooks.org/wiki/Java_Persistence/Basic_Attributes
기본 속성은 속성 클래스가 String, Number, Date 또는 프리미티브와 같은 단순한 유형인 속성입니다.기본 속성 값은 데이터베이스의 열 값에 직접 매핑할 수 있습니다.
지원되는 유형과 변환은 JPA 구현 및 데이터베이스 플랫폼에 따라 달라집니다.데이터베이스 유형에 직접 매핑되지 않는 유형을 사용하는 모든 기본 속성을 이진 데이터베이스 유형에 직렬화할 수 있습니다.
JPA에서 기본 속성을 매핑하는 가장 쉬운 방법은 아무것도 하지 않는 것입니다.다른 주석이 없고 다른 엔티티를 참조하지 않는 속성은 자동으로 기본 매핑되고 기본 유형이 아닌 경우에도 직렬화됩니다.Atribute의 열 이름은 기본적으로 Atribute 이름과 이름이 같으며 대문자로 지정됩니다.
@Basic 주석은 JPA 엔티티에 적용되며 @Column의 는 데이터베이스 열에 적용됩니다.@Basic 주석은 옵션 속성으로 엔티티 필드를 null로 할 수 있는지 여부를 정의합니다.반면,
- @Column 주석의 null 가능 속성은 해당 데이터베이스 열이 null일 수 있는지 여부를 지정합니다.
- @Basic을 사용하여 필드를 느릿느릿 로드해야 함을 나타낼 수 있습니다.
- @Column 주석을 사용하여 매핑된 데이터베이스 열의 이름을 지정할 수 있습니다.
- @Basic Annotation은 Java 오브젝트레벨에서 속성을 옵션이 아닌 것으로 표시합니다.또한 열 매핑의 (확정 가능 = false)는 NOT NULL 데이터베이스 제약 조건 생성에만 책임이 있습니다.
언급URL : https://stackoverflow.com/questions/1383229/java-persistence-jpa-column-vs-basic
'programing' 카테고리의 다른 글
치명적 오류: 정의되지 않은 함수 mcrypt_encrypt() 호출 (0) | 2023.01.01 |
---|---|
이스케이프 문자열 Python for MySQL (0) | 2023.01.01 |
j쿼리 수 하위 요소 (0) | 2023.01.01 |
PHP로 GET 변수를 제거하는 아름다운 방법? (0) | 2023.01.01 |
MySQL에서의 base64 부호화 (0) | 2023.01.01 |