'Hibernate3 정리'에 해당되는 글 1건

  1. 2010.05.31 하이버네이트 매핑 타입
<property name="title" COLUMN="TITLE" type="string" />
속성의 값은 string인데 자바 프로퍼티와 테이블 칼럼 사이의 매핑 타입이 'string'임을 명시한것.
하이버네이트는 이 매핑값을 사용하여 칼럼과 프로퍼티 값 사이의 변환을 알맞게 처리.

자바 기본 데이터 타입을 위한 매핑 타입

 매핑타입 자바 기본 데이타 타입
SQL타입

 int int
INTEGER

 long ong
BIGINT

 short short
SMALLINT

 float float
FLOAT

 double double
DOUBLE

 big_decimal java.math.BigDecimal
NUMERIC

 character java.lang.String CHAR(1)

 string java.lang.String
VARCHAR

 byte byte
TINYINT

 boolean boolean
BIT

 yes_no boolean
CHAR(1) true일경우 'Y', false일경우 'N'

 true_false boolean
CHAR(1) true일 경우'T', false일 경우 'F'

날짜와 시간을 위한 매핑 타입
 매핑타입 자바 타입
SQL 타입
 date java.util.Date / java.sql.Date
DATA
 time java.util.Date / java.sql.Time
TIME
 timestamp java.util.Date / java.sql.Timestamp
TIMESTAMP
 calendar java.util.Calendar
TIMESTAMP
 calendar_date java.util.Calendar
DATE

대용량 데이터를 위한 매핑 타입
 매핑타입 자바 타입
SQL 타입
 binary byte[] 
VARBINARY
 text java.lang.String
CLOB
clob java.sql.Clob
CLOB
blob
java.sql.Blob
BLOB
serializable
java.io.Serializable 인터페이스를 구현한 자바 클래스
VARBINARY
text, binary 매핑 타입을 사용하면 로딩하는 즉시 데이터를 읽어오게 된다.
용량이 큰 칼럼의 경우 java.sql.Clob, java.sql.Blob을 사용하여 필요할때만 로딩하도록 한다.
이들 LOB타입의 데이타를 위치를 가르치는 Locator이기 대문에 실제 값은 로딩되지 않는다.

Clob 타입이나 Blob타입은 실제 값에 접근할때에 값을 읽어오게 된다. But 트랜잭션 열려있는 동안에만 가능하다.
try {
  HibernateUtil.beginTransaction();
  ..
  // Transaction 범위 내에서만 LOB 타입 로딩 가능
  Blob fileContent = article.getAttachment().getFileContent();
  in = fileContent.getInputStream();
  ..
  HibernateUtil.commitTracnsaction();
}

LOB 타입의 프로퍼티에 값을 할때는 다음과 같이
Article article = new Article();
...
article.setContent( Hibernate.createClob(content));

다음 메소드가 제공됨
static Blob createBlob(byte[] bytes)
          Create a new Blob.
static Blob createBlob(InputStream stream)
          Create a new Blob.
static Blob createBlob(InputStream stream, int length)
          Create a new Blob.
static Clob createClob(Reader reader, int length)
          Create a new Clob.
static Clob createClob(String string)
          Create a new Clob.

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by 영겁회귀

티스토리 툴바