我正在开发一个Spring-MVC应用程序,我在其中使用Hibernate作为Postgresql的ORM工具.对于项目模型中的一些实体,我想创建索引以加快查找速度.在我阅读时,我发现可以使用Hibernate创建索引.不幸的是,我没有太多运气.我只尝试在一个Model类上创建它,但是当我检入PGAdmin时,我看不到该表的任何索引.
当我尝试将@Index参数提供给@Table注释时,我收到错误.任何人都可以告诉我如何通过Hibernate对列和整个表进行自动索引注释.非常感谢.
在线用户模型://这个我刚刚用于测试的类
import org.hibernate.search.annotations.Indexed;
import javax.persistence.*;
@Entity
@Table(name="onlineusers" )
@Indexed(index = "onlineuserindex")
public class OnlineUsers {
@Id
@Column(name="onlineuserid")
@GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "online_gen")
@SequenceGenerator(name = "online_gen",sequenceName = "online_seq")
private int onlineUserId;
@Column(name = "onlineusername")
private String personName;
}
请注意,当我尝试以下内容时:
@Indexed(index = "usernameindex");
@Column(name="username");
private String userName;
我收到错误,@ Index不适用于某个字段.
POM.xml:
<properties>
<java-version>1.8</java-version>
<org.springframework-version>4.0.6.RELEASE </org.springframework-version>
<org.aspectj-version>1.7.4</org.aspectj-version>
<org.slf4j-version>1.7.5</org.slf4j-version>
<hibernate.version>4.3.9.Final</hibernate.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<!-- Hibernate search dependencies -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-orm</artifactId>
<version>5.2.0.Final</version>
</dependency>
<!-- <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>3.5.6-Final</version>
</dependency>
-->
请让我知道我做错了什么.非常感谢.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。