Java Hibernate搜索-未创建索引

Java Hibernate搜索-未创建索引,java,hibernate,indexing,hibernate-search,hibernate-annotations,Java,Hibernate,Indexing,Hibernate Search,Hibernate Annotations,我目前正在大学写最后一篇论文,主题是将搜索功能集成到现有的web应用程序中,并希望使用Hibernate搜索 但我正在为已经存在的应用程序中的实体索引而挣扎。 似乎索引不起作用,因为创建新实体时不会生成索引文件。此外,在启动应用程序时,不会创建在hibernate配置中配置的基本索引目录。 该应用程序使用Spring框架和Hibernate内核以及HibernateJPA2.0(参见pom.xml) 我在执行应用程序时没有收到任何错误,但是有一个关于Hibernate搜索的信息 INFO An

我目前正在大学写最后一篇论文,主题是将搜索功能集成到现有的web应用程序中,并希望使用Hibernate搜索

但我正在为已经存在的应用程序中的实体索引而挣扎。 似乎索引不起作用,因为创建新实体时不会生成索引文件。此外,在启动应用程序时,不会创建在hibernate配置中配置的基本索引目录。 该应用程序使用Spring框架和Hibernate内核以及HibernateJPA2.0(参见pom.xml)

我在执行应用程序时没有收到任何错误,但是有一个关于Hibernate搜索的信息

 INFO AnnotationSessionFactoryBean:780 - Building new Hibernate SessionFactory
 INFO HibernateSearchEventListenerRegister:75 - Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
我读到在使用hibernate注释时不需要集成这些侦听器,所以这不会是问题的根源,对吗

从pom.xml中提取

    <dependencies>
       ...
      <dependency>
         <groupId>org.hibernate</groupId>
         <artifactId>hibernate-core</artifactId>
         <version>${hibernate.version}</version>
      </dependency>

      <dependency>
         <groupId>org.hibernate</groupId>
         <artifactId>hibernate-envers</artifactId>
         <version>${hibernate.version}</version>
      </dependency>

      <dependency>
         <groupId>org.hibernate</groupId>
         <artifactId>hibernate-validator</artifactId>
         <version>${hibernate-validator.version}</version>
      </dependency>

      <dependency>
         <groupId>org.hibernate.javax.persistence</groupId>
         <artifactId>hibernate-jpa-2.0-api</artifactId>
         <version>1.0.1.Final</version>
      </dependency>

      <dependency>
         <groupId>org.hibernate</groupId>
         <artifactId>hibernate-search-orm</artifactId>
         <version>4.3.0.Final</version>
      </dependency>

</dependencies>
<!-- Configuration of Hibernate Session -->
   <bean id="sessionFactory"
      class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

      <property name="dataSource" ref="dataSource" />
      <property name="packagesToScan" value="de.user.server.model" />
      <property name="hibernateProperties">
         <props>
            <prop key="hibernate.hbm2ddl.auto">update</prop>
            <prop key="hibernate.show_sql">${jdbc.debug}</prop>
            <prop key="hibernate.format_sql">true</prop>
            <prop key="hibernate.id.new_generator_mappings">true</prop>
            <prop key="hibernate.dialect">${jdbc.dialect}</prop>
            <prop key="hibernate.jdbc.batch_size">0</prop>
            <prop key="hibernate.hbm2ddl.import_files">import.sql</prop>
            <prop key="hibernate.c3p0.idle_test_period">28680</prop>
            <prop key="hibernate.search.default.directory_provider">filesystem</prop>
            <prop key="hibernate.search.default.indexBase">H:/indexes</prop>

         </props>
      </property>

<!-- hibernate-envers for versioning of entities -->
      <property name="eventListeners">
         <map>
            <entry key="post-insert" value-ref="envers" />
            <entry key="post-update" value-ref="envers" />
            <entry key="post-delete" value-ref="envers" />
            <entry key="pre-collection-update" value-ref="envers" />
            <entry key="pre-collection-remove" value-ref="envers" />
            <entry key="post-collection-recreate" value-ref="envers" />
         </map>
      </property>
   </bean>
AbstractDataObject.java

@Entity
@Indexed
@Connectable(modelClass = ModelClassEnum.TEXT)
public class Text extends AbstractDataObject {

    /**
     * Value generated automatically by eclipse.
     */
    private static final long serialVersionUID = 8096234710520978913L;

    private String text;

    public Text() {

    }    

    @Lob
    @Field (name="text",index=Index.YES, analyze=Analyze.YES,store=Store.YES)
    public String getText() {
        return this.text;
    }

public void setText(String text) {
        this.text = text;       
    }
}
@Entity
@Audited
@Inheritance(strategy = InheritanceType.JOINED)
public class AbstractDataObject extends BaseDomainModel {
    private Long objectId;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @DocumentId
    public Long getObjectId() {
     return objectId;
    }
}
我期待着你的回答

亲切问候,,
hbsnovice

该消息表示未找到Hibernate搜索。您的pom.xml看起来是正确的,但您说它是一个web应用程序。您是否在webapp中包括
hibernate搜索orm
及其所有依赖项?正如您在应用程序的pom.xml中所看到的,我包括了依赖项hibernate搜索orm。还是我误解了你的问题?解决方案是Hibernate ORM和Hibernate Search的版本互不兼容