package kr.debop4j.search.hibernate.model; import kr.debop4j.data.model.AnnotatedEntityBase; import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; import org.hibernate.search.annotations.*; import javax.persistence.*; import javax.validation.constraints.NotNull; /** * kr.debop4j.search.hibernate.model.SearchItem * * @author 배성혁 ( sunghyouk.bae@gmail.com ) * @since 13. 2. 28. */ @Entity @Table(name = "SEARCH_ITEM") @Indexed // @Analyzer(impl = org.apache.lucene.analysis.cjk.CJKAnalyzer.class) @Analyzer(impl = org.apache.lucene.analysis.kr.KoreanAnalyzer.class) @Getter @Setter public class SearchItem extends AnnotatedEntityBase { private static final long serialVersionUID = -4795821070108007345L; @Id @GeneratedValue @Column(name = "SEARCH_ITEM_ID") @DocumentId @Setter(AccessLevel.PROTECTED) private Long id; @NotNull @Column(name = "SEARCH_ITEM_TITLE", length = 255) @Field(termVector = TermVector.YES) private String title; @Column(name = "SEARCH_ITEM_DESC", length = 2000) @Field(termVector = TermVector.YES) private String description; @Column(name = "SEARCH_ITEM_EAN") @Field private String ean; @Column(name = "SEARCH_ITEM_AMOUNT") @Field @NumericField(precisionStep = 6) private double amount = 0.0; @Column(name = "SEARCH_ITEM_IMG") private String imageURL; // not indexing (default) }