[java] Hibernate에서 인덱스(Index) 설정하는 방법은?
Hibernate에서 인덱스를 설정하는 방법은 다음과 같습니다.
- @Index 어노테이션 사용하기: Hibernate 5.2 버전 이후부터는 @Index 어노테이션을 사용하여 인덱스를 설정할 수 있습니다. 아래는 예제 코드입니다.
@Entity
@Table(name = "products")
@org.hibernate.annotations.Table(appliesTo = "products", indexes = {
@Index(name = "idx_product_name", columnNames = {"name"}),
@Index(name = "idx_product_category", columnNames = {"category"})
})
public class Product {
// ...
}
위의 예제에서는 products
테이블에 name
과 category
컬럼에 대한 인덱스를 설정하고 있습니다. @Table
어노테이션의 indexes
속성에 @Index
어노테이션을 배열로 지정하여 원하는 인덱스를 설정할 수 있습니다.
- schema.sql 파일에서 인덱스 생성하기: 만약 Hibernate의 어노테이션을 사용하지 않는다면, schema.sql 파일에서 직접 인덱스를 생성할 수 있습니다. 아래는 예제 코드입니다.
CREATE INDEX idx_product_name ON products (name);
CREATE INDEX idx_product_category ON products (category);
위의 예제에서는 products
테이블의 name
과 category
컬럼에 대한 인덱스를 생성하고 있습니다.
이러한 방법을 사용하여 Hibernate에서 인덱스를 설정할 수 있습니다. 인덱스의 사용은 쿼리 성능을 향상시키고 데이터베이스 성능을 최적화하는 데 도움이 될 수 있습니다.