programing

Java 지속성 / JPA: @Column vs @Basic

firstcheck 2023. 1. 1. 11:38
반응형

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

반응형