Поиск в спящем режиме: "Невозможно построить запрос для типа xyzEntityA, который не проиндексирован и не имеет индексированных подтипов"

У меня есть пробный код для проверки поиска в спящем режиме. Когда я запустил код, он дал мне следующую ошибку:

Exception in thread "main" org.hibernate.search.exception.SearchException: HSEARCH000278: Can't build query for type x.y.z.A.EntityA' which is neither indexed nor has any indexed sub-types.
    at org.hibernate.search.query.dsl.impl.ConnectedQueryContextBuilder$HSearchEntityContext.<init>(ConnectedQueryContextBuilder.java:51)
    at org.hibernate.search.query.dsl.impl.ConnectedQueryContextBuilder.forEntity(ConnectedQueryContextBuilder.java:37)
    at x.y.z.A.maventTest.testHibernateSearch2(maventTest.java:36)
    at x.y.z.A.maventTest.main(maventTest.java:18)

Ниже приведен мой файл конфигурации Hibernate:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="connection.url">....</property>
        <property name="connection.username">....</property>
        <property name="connection.password">....</property>

        <property name="connection.pool_size">...</property>
        <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
        <property name="current_session_context_class">thread</property>
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
        <property name="show_sql">true</property>
        <property name="hbm2ddl.auto">validate</property>

        <property name="hibernate.search.default.directory_provider">filesystem</property>
        <property name="hibernate.search.default.indexBase">.....</property>
        <property name="hibernate.search.default.exclusive_index_use">true</property>

        <mapping class="x.y.z.EntityA" />

    </session-factory>

</hibernate-configuration>

EntityA - это объект, который уже был проиндексирован с помощью другого приложения поиска hibernate. В этом макете приложение индексируется как:

@Entity
@Indexed
public class EntityA {...}

Ниже приведены зависимости maven, которые я использую:

<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.hynnet</groupId>
            <artifactId>oracle-driver-ojdbc6</artifactId>
            <version>12.1.0.1</version>
        </dependency>           
            <dependency>
            <groupId>javax.transaction</groupId>
            <artifactId>jta</artifactId>
            <version>1.1</version>
        </dependency>       
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-search</artifactId>
            <version>5.5.5.Final</version>
        </dependency>    

    </dependencies>

Я получаю fullTextSession с:

public static FullTextSession getFullTextSession() {
        if (sessionFactory == null)
            configureSessionFactory();
        return Search.getFullTextSession(getSession());
    }

private static SessionFactory configureSessionFactory()
            throws HibernateException {
        Configuration configuration = new Configuration();
        configuration.configure("hibernate-search.cfg.xml");

        ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
                .applySettings(configuration.getProperties()).build();
        sessionFactory = configuration.buildSessionFactory(serviceRegistry);

        return sessionFactory;
    }

Из трассировки стека ясно сказано, что сущность не проиндексирована. Но он уже проиндексирован в файловой системе, и я правильно указал местоположение индекса.

Любая помощь будет оценена. Заранее спасибо.

0 ответов

Другие вопросы по тегам