Whiteship's Note

[하이버네이트] 컬럼 타입은 어떻게 명시하는게 좋을까?

모하니?/Coding : 2009.10.31 22:30


       @Column(columnDefinition="TEXT")
       private String descr;

이런 방법이 있습니다. 별로 좋은 방법은 아닙니다. postgresql에서는 괜찮지만, HSQL에서는 저 TEXT라는 SQL 타입이  못해서 해당 테이블을 만들지 못할겁니다.

columnDefinition 이 속성 자체가 컬럼 만들 때 사용할 SQL을 입력하는 부분이기 때문에, 각기 다른 밴더 DB에서 못 인식하는 경우도 생길 수 있는거죠.

그래서 타입을 선언하고 싶을 때는 하이버네이트 타입을 선언할 수 있는 @Type을 사용하는 것이 좋겠습니다. 그러면 하이버네이트가 컬럼을 만들 때 @Type에 선언된 하이버네이트 타입을 보고 DB에 적당한 SQL을 이용해서 컬럼을 만들어 줄 것이기 때문이죠.

    @Column
    @Type(type = "text")
    private String descr;

그래서, 이렇게 하는게 좋겠습니다.



top

Write a comment.




: 1 : ··· : 62 : 63 : 64 : 65 : 66 : 67 : 68 : 69 : 70 : ··· : 299 :