Whiteship's Note

@Column 조사

Hibernate/study : 2006.12.28 18:49


참조 : http://java.sun.com/javaee/5/docs/api/javax/persistence/Column.html
JPA에 포함되어 있는 어노테이션으로 POJO위에 해당 필드가 DB의 컬럼과 매핑이 되도록 설정하는데 사용했었습니다.

사용할 수 있는 속성들로는 다음과 같은 것들이 있습니다.
사용자 삽입 이미지

위 속성들은 전부 Optional 이기 때문에 설정하지 않아도 됩니다. 그럴 때는 각 속성들의 default값들로 설정됩니다.

columnDefinition은 해당 컬럼을 생성할 때의 SQL이라고 하는데 잘 모르겠네요. 기본값은 ""
inserttable은 inset가 가능한지 여부를 나타내며 기본 값은 true
length는 해당 컬럼의 길이며 기본 값은 255
name은 이 필드와 매칭 될 컬럼의 이름이며 기본 값은 필드 명으로 들어갑니다.(기본 값은 ""이렇게 써있는데..)
nullable은 필드가 null값을 허용하는지 여부이며 기본 값은 true
precision과 scale은 실수를 나타낼 때 사용하며 기본 값은 0
table은 컬럼이 어느 테이블에 만들어질지 정하는 것 같습니다. 기본값은 primary table이라고 적혀있는데 현재 소속된 클래스의 테이블로 들어가는 것 같습니다.
unique는 해당 컬럼이 uniauq key인지 나타내며 기본값은 false
updatable은 UPDATE sql이 사용가능한지 여부이며 기본값은 true

전부 기본적인 세팅이라서 마치 Java의 멤버 변수들의 기본값 처럼 쉽게 머릿속에 들어옵니다.
하지만 몇몇은 기본값이 "" 라고 되어 있지만 그렇치 않은 것들이 있네요.
columnDefinition(요건 뭔지 잘 모르겠지만), name, table은 기본 값이 ""가 아니고 필드명과 필드가 속해있는 클래스의 테이블명이 되는 것 같습니다.

'Hibernate > study' 카테고리의 다른 글

숙제  (0) 2007.01.19
Transaction  (2) 2007.01.02
JUnit 으로 Hibernate 테스트  (0) 2007.01.01
Detached Objects  (0) 2007.01.01
Object identity  (2) 2007.01.01
Persistent Object  (0) 2007.01.01
Study To Do List  (2) 2006.12.29
Transient Object  (0) 2006.12.28
JPA를 필드 위에 써보기  (0) 2006.12.28
@Column 조사  (2) 2006.12.28
JPA(Java Persistent API)가 뭐지..  (2) 2006.12.28
top

TAG
  1. 이은주 2007.01.09 10:00 PERM. MOD/DEL REPLY

    columnDefinition 은 컬럼에 대한 정의를 나타내는 거 같은데요..
    name : 이름 이런식으로..

    Favicon of http://whiteship.tistory.com/ BlogIcon 기선 2007.01.09 10:22 PERM MOD/DEL

    흠..네엡 그런 것 같습니다.

    @Column이 XML로 설정할 때는<property>랑 매칭이 되는 것 같은데요. 아마.. columnDefinition은 <property>에서 지정할 수 있는 속성들 중에서 formula와 매칭되는 것 같습니다.

    SQL로 직접 컬럼의 특징을 정해 줄 수 있는 것이 아닐런지..싶네요 :)

    formula에 대해서는
    http://www.hibernate.org/hib_docs/v3/reference/en/html/mapping.html
    여기 중간 쯤에 property에 관한 설명에서 참조할 수 있을 것 같습니다.

Write a comment.




: 1 : ··· : 30 : 31 : 32 : 33 : 34 : 35 :