Hibernate Поиск с JPA - PullRequest
       14

Hibernate Поиск с JPA

1 голос
/ 27 июня 2011

Я хочу использовать hibernate search + JPA в проекте ejb3, я использую jboss 5 AS, и у меня ошибка развертывания, я не знаю почему ....

мои сущности:

package kz.edu.sdu.sea.apps.ejb.db;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import org.hibernate.search.annotations.Field;
import org.hibernate.search.annotations.Index;
import org.hibernate.search.annotations.Indexed;
import org.hibernate.search.annotations.IndexedEmbedded;
import org.hibernate.search.annotations.Store;

@Entity
@Indexed
@Table(name="links")
public class Link {
private Long linkId;
private String link;
private String linkText;
private int priority;
private Page page;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="link_id")
public Long getLinkId() {
    return linkId;
}
public void setLinkId(Long linkId) {
    this.linkId = linkId;
}

public String getLink() {
    return link;
}
public void setLink(String link) {
    this.link = link;
}

@Column(name="link_text")
@Field(index=Index.TOKENIZED, store=Store.NO)
public String getLinkText() {
    return linkText;
}
public void setLinkText(String linkText) {
    this.linkText = linkText;
}

public int getPriority() {
    return priority;
}
public void setPriority(int priority) {
    this.priority = priority;
}

@IndexedEmbedded
@OneToOne
@JoinColumn(name="link_id")
public Page getPage() {
    return page;
}
public void setPage(Page page) {
    this.page = page;
}

}

package kz.edu.sdu.sea.apps.ejb.db;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import org.hibernate.search.annotations.Field;
import org.hibernate.search.annotations.Index;
import org.hibernate.search.annotations.Store;


@Entity
@Table(name="pages")
public class Page {
private Long pageId;
private String content;
private String title;
private String description;
private Link link;

@Id
@Column(name="page_id")
public Long getPageId() {
    return pageId;
}
public void setPageId(Long pageId) {
    this.pageId = pageId;
}

@Column(columnDefinition="text")
@Field(index=Index.TOKENIZED, store=Store.NO)
public String getContent() {
    return content;
}
public void setContent(String content) {
    this.content = content;
}

@Field(index=Index.TOKENIZED, store=Store.NO)
public String getTitle() {
    return title;
}
public void setTitle(String title) {
    this.title = title;
}

@Column(columnDefinition="text")
@Field(index=Index.TOKENIZED, store=Store.NO)
public String getDescription() {
    return description;
}
public void setDescription(String description) {
    this.description = description;
}

@OneToOne(mappedBy="page")
public Link getLink() {
    return link;
}
public void setLink(Link link) {
    this.link = link;
}
}

Ошибка: ОШИБКА [AbstractKernelController] Ошибка установки при запуске: name = persistence.unit: unitName = sea.ear / sea-ejb.jar # SeaPU state = Создать java.lang.NoClassDefFoundError: org / hibernate / аннотации / общие / отражение / MetadataProvider в org.hibernate.search.event.FullTextIndexEventListener.initialize (FullTextIndexEventListener.java:151) в org.hibernate.event.EventListeners $ 1.processListener (EventListeners.java:198) в org.hibernate.event.EventListeners.processListeners (EventListeners.java:181) в org.hibernate.event.EventListeners.initializeListeners (EventListeners.java:194) в org.hibernate.cfg.Configuration.getInitializedEventListeners (Configuration.java:1338) в org.hibernate.cfg.Configuration.buildSessionFactory (Configuration.java:1327) в org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory (AnnotationConfiguration.java:867) в org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory (Ejb3Configuration.java:669) в org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory (HibernatePersistence.java:132) в org.jboss.jpa.deployment.PersistenceUnitDeployment.start (PersistenceUnitDeployment.java:301) at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) в java.lang.reflect.Method.invoke (Method.java:597) в org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke (ReflectionUtils.java:59) в org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke (ReflectMethodInfoImpl.java:150) в org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch (BasicMethodJoinPoint.java:66) в org.jboss.kernel.plugins.dependency.KernelControllerContextAction $ JoinpointDispatchWrapper.execute (KernelControllerContextAction.java:241) в org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute (ExecutionWrapper.java:47) в org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper (KernelControllerContextAction.java:109) в org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint (KernelControllerContextAction.java:70) в org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal (LifecycleAction.java:221) в org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction (InstallsAwareAction.java:54) в org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction (InstallsAwareAction.java:42) в org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction (SimpleControllerContextAction.java:62) в org.jboss.dependency.plugins.action.AccessControllerContextAction.install (AccessControllerContextAction.java:71) в org.jboss.dependency.plugins.AbstractControllerContextActions.install (AbstractControllerContextActions.java:51) в org.jboss.dependency.plugins.AbstractControllerContext.install (AbstractControllerContext.java:348) в org.jboss.dependency.plugins.AbstractController.install (AbstractController.java:1631) в org.jboss.dependency.plugins.AbstractController.incrementState (AbstractController.java:934) в org.jboss.dependency.plugins.AbstractController.resolveContexts (AbstractController.java:1082) в org.jboss.dependency.plugins.AbstractController.resolveContexts (AbstractController.java:984) в org.jboss.dependency.plugins.AbstractController.install (AbstractController.java:774) в org.jboss.dependency.plugins.AbstractController.install (AbstractController.java:540)по адресу org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy (BeanMetaDataDeployer.java:121) по адресу org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployepjeta.eg.etaedeta.de.deployers..deployers.DeployerWrapper.deploy (DeployerWrapper.java:171) при org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy (DeployersImpl.java:1439) в org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst (DeployersImpl.java: 1157) по адресу org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst (DeployersImpl.java:1178) по адресу org.jboss.deployers.plugins.deployers.DeployersImpl.doInstalljersImpIg.jboss.deployers.plugins.deployers.DeployersImpl.install (DeployersImpl.java:1098) вorg.jboss.dependency.plugins.AbstractControllerContext.install (AbstractControllerContext.java:348) в org.jboss.dependency.plugins.AbstractController.install (AbstractController.java:1631) в org.jbossluont.An.AbstractController.java:934) в org.jboss.dependency.plugins.AbstractController.resolveContexts (AbstractController.java:1082) в org.jboss.dependency.plugins.AbstractController.resolveContexts (AbstractControldencyj.peng.jpg: atg.plugins.AbstractController.change (AbstractController.java:822) в org.jboss.dependency.plugins.AbstractController.change (AbstractController.java:553) в org.jboss.deployers.plugins.deployers.DepcessersImploy.j.: 781) at org.jboss.deployers.plugins.main.MainDeployerImpl.process (MainDeployerImpl.java:702) в org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process (MainDeployjg11) .7)jboss.system.server.profileservice.repository.ProfileDeployAction.install (ProfileDeployAction.java:70) в org.jboss.system.server.profileservice.repository.AbstractProfileAction.install (AbstractProfileAction.java:53) в org.jboss.system.server.profileservice.repository.AerstractProfileSstallAbstractProfileService.java:361) в org.jboss.dependency.plugins.AbstractControllerContext.install (AbstractControllerContext.java:348) в org.jboss.dependency.plugins.AbstractController.install (AbstractControldencyj.jpg: org..plugins.AbstractController.incrementState (AbstractController.java:934) в org.jboss.dependency.plugins.AbstractController.resolveContexts (AbstractController.java:1082) в org.jboss.dependency.plugins.rol) в org.jboss.dependency.plugins.AbstractController.change (AbstractController.java:822) в org.jboss.dependency.plugins.AbstractController.change (AbstractController.java:553) в org.jboss.system.server.profilerepository.AbstractProfileService.activateProfile (AbstractProfileService.java:306) по адресу org.jboss.system.server.profileservice.ProfileServiceBootstrap.start (ProfileServiceBootstrap.java:271) по адресу org.jboss.bootstrap.AbstractServerIer.jt..jboss.Main.boot (Main.java:221) в org.jboss.Main $ 1.run (Main.java:556) в java.lang.Thread.run (Thread.java:662)Вызывается: sea.ear / domain = ClassLoaderDomain @ 504ec1 {name = DefaultDomain parentPolicy = BEFORE parent=org.jboss.bootstrap. -gpejwdz8-2b real = vfsmemory: // 5c4o12v-f20ynd-gpejvsex-1-gpejwdz8-2b], DelegatingHandler @ 5956743 [путь = sea.ear context = file: /opt/jboss-5.1.0.GA/server/default / deploy / real = file: /opt/jboss-5.1.0.GA/server/default/deploy/sea.ear], DelegatingHandler @ 22116869 [путь = sea.ear / sea-client.jar context = file: / opt /jboss-5.1.0.GA/server/default/deploy/ real = file: /opt/jboss-5.1.0.GA/server/default/deploy/sea.ear/sea-client.jar], DelegatingHandler @ 2234728 [путь = sea.ear / sea-ejb.jar context = file: /opt/jboss-5.1.0.GA/server/default/deploy/ real = file: /opt/jboss-5.1.0.GA/s erver / default / deploy / sea.ear / sea-ejb.jar], DelegatingHandler @ 11678023 [путь = sea.ear / sea-ejb.jar / hibernate-search-3.4.0.Final.jar context = file: / opt /jboss-5.1.0.GA/server/default/deploy/ real = file: /opt/jboss-5.1.0.GA/server/default/deploy/sea.ear/sea-ejb.jar/hibernate-search- 3.4.0.Final.jar], DelegatingHandler @ 12673014 [путь = sea.ear / sea-ejb.jar / jsoup-1.6.0.jar context = файл: /opt/jboss-5.1.0.GA/server/default / deploy / real = file: /opt/jboss-5.1.0.GA/server/default/deploy/sea.ear/sea-ejb.jar/jsoup-1.6.0.jar]] Delegates = null exported = [org .jsoup, org.hibernate.search.query.engine.impl, org.hibernate.search.query.engine.spi, org.jsoup.examples, org.hibernate.search, org.hibernate.search.backend.impl.lucene .works, org.hibernate.search.filter, org.hibernate.search.jpa, org.hibernate.search.query.facet, org.hibernate.search.sandbox.standalone, org.hibernate.search.bridge, org.hibernate .search.backend.impl.jms, org.hibernate.search.backend, org.hibernate.search.spi.internals, org.hibernate.search.anno tations, org.hibernate.search.exception.impl, META-INF.maven.org.hibernate.hibernate-search, org.hibernate.search.store.optimization, kz.edu.sdu.sea.apps.ejb.beans, org.hibernate.search.filter.impl, org.hibernate.search.query.dsl, org.hibernate.search.spi, kz.edu.sdu.sea.apps.ejb.util, org.hibernate.search.impl, kz.edu.sdu.sea.apps.ejb.client, org.jsoup.helper, org.hibernate.search.backend.impl.lucene.overrides, org.hibernate.search.store, org.hibernate.search.backend. конфигурация org.hibernate.search.backend.impl.lucene, org.hibernate.search.exception, org.hibernate.search.query.engine, org.hibernate.search.query.dsl.impl, org.jsoup.parser, org.hibernate.search.engine, org.hibernate.search.backend.impl.blackhole, org.hibernate.search.stat, org.hibernate.search.backend.impl.jgroups, org.hibernate.search.backend.impl. пакетный, org.hibernate.search.engine.spi, org.hibernate.search.jmx, org.jsoup.safety, org.hibernate.search.query.hibernate.impl, org.hibernate.search.util, org.hibern ate.search.jpa.impl, org.hibernate.search.query.collector, kz.edu.sdu.sea.apps.ejb.db, org.hibernate.search.event, org.hibernate.search.backend.impl, org.jsoup.select, META-INF.maven.org.jsoup.jsoup, org.hibernate.search.bridge.util, org.hibernate.search.cfg, org.hibernate.search.analyzer, org.hibernate.search. query.fieldcache, META-INF, org.hibernate.search.batchindexing, org.hibernate.search.engine.impl, org.hibernate.search.query, org.hibernate.search.reader, org.hibernate.search.bridge. встроенный, org.jsoup.nodes] NON_EMPTY}} в org.jboss.classloader.spi.base.BaseClassLoader.loadClass (BaseClassLoader.java:448) в java.lang.ClassLoader.loadClass (ClassLoader.java:248) ... еще 70 04: 09: 30,231 ИНФОРМАЦИЯ [TomcatDeployment] deploy, ctxPath = / sea 04: 09: 30,631 ОШИБКА [ProfileServiceBootstrap] Не удалось загрузить профиль: сводка неполных развертываний (СМ. ПРЕДВАРИТЕЛЬНЫЕ ОШИБКИ ДЛЯ ДЕТАЛЕЙ):

ЗАВИСИМОСТЬ ОТСУТСТВУЮЩИХ ЗАВИСИМОСТИ:При развертывании "jboss.j2ee: ear = sea.ear, jar = sea-ejb.jar, name = ContentFetcherBean, service = EJB3" отсутствуют следующие зависимости: Зависимость "" (должна быть в состоянии "Описано", но на самом деле находится в состоянии "** НЕРЕШЕННО Требуется постоянство.unit: unitName = sea.ear / sea-ejb.jar # SeaPU '") При развертывании «jboss.j2ee: ear = sea.ear, jar = sea-ejb.jar, name = ContentFetcherBean, service = EJB3_endpoint» отсутствуют следующие зависимости: Зависимость "jboss.j2ee: ear = sea.ear, jar = sea-ejb.jar, name = ContentFetcherBean, service = EJB3" (должна быть в состоянии "Configured", но фактически находится в состоянии "PreInstall") При развертывании «jboss.j2ee: ear = sea.ear, jar = sea-ejb.jar, name = ContentFetcherMDB, service = EJB3» отсутствуют следующие зависимости: Зависимость "" (должна быть в состоянии "Описано", но на самом деле находится в состоянии " НЕ РАЗРЕШЕНО" jndi: sea / WebCrawlerBean / local-kz.edu.sdu.sea.apps.ejb.client.IWebCrawlerLocal ' ") При развертывании "jboss.j2ee: ear = sea.ear, jar = sea-ejb.jar, name = SearcherBean, service = EJB3" отсутствуют следующие зависимости: Зависимость "" (должна быть в состоянии "Описано", но на самом деле находится в состоянии " НЕ РАЗРЕШЕНО" Требуется постоянство.unit: unitName = sea.ear / sea-ejb.jar # SeaPU ' ") При развертывании «jboss.j2ee: ear = sea.ear, jar = sea-ejb.jar, name = SearcherBean, service = EJB3_endpoint» отсутствуют следующие зависимости: Зависимость "jboss.j2ee: ear = sea.ear, jar = sea-ejb.jar, name = SearcherBean, service = EJB3" (должна быть в состоянии "Configured", но фактически находится в состоянии "PreInstall") При развертывании "jboss.j2ee: ear = sea.ear, jar = sea-ejb.jar, name = WebCrawlerBean, service = EJB3" отсутствуют следующие зависимости: Зависимость "" (должна быть в состоянии "Описано", но на самом деле находится в состоянии " НЕ РАЗРЕШЕНО" Требуется постоянство.unit: unitName = sea.ear / sea-ejb.jar # SeaPU ' ") Зависимость "" (должна быть в состоянии "Описано", но фактически находится в состоянии " РАЗРЕШЕНО" Требуется jndi: sea / ContentFetcherBean / local-kz.edu.sdu.sea.apps.ejb.client.IContentFetcherLocal '** «) При развертывании «jboss.j2ee: ear = sea.ear, jar = sea-ejb.jar, name = WebCrawlerBean, service = EJB3_endpoint» отсутствуют следующие зависимости: Зависимость "jboss.j2ee: ear = sea.ear, jar = sea-ejb.jar, name = WebCrawlerBean, service = EJB3" (должна быть в состоянии "Configured", но фактически находится в состоянии "PreInstall")

РАЗМЕЩЕНИЯ В ОШИБКАХ: Развертывание "" является ошибкой по следующей (-им) причине (-ам): ** UNRESOLVED Требуется постоянство. Unit: unitName = sea.ear / sea-ejb.jar # SeaPU '*, * UNRESOLVED Demands' jndi: sea / ContentFetcherBean / local-kz.edu.sdu.sea.apps.ejb.client.IContentFetcherLocal '** Развертывание "" содержит ошибку из-за следующих причин: ** НЕ УРЕГУЛИРОВАНО Требуется постоянство.unit: unitName = sea.ear / sea-ejb.jar # SeaPU '** Развертывание "" является ошибкой по следующей (-ым) причинам (-ам): ** РАЗРЕШЕНО Требования 'jndi: sea / WebCrawlerBean / local-kz.edu.sdu.sea.apps.ejb.client.IWebCrawlerLocal' **Развертывание "persistence.unit: unitName = sea.ear / sea-ejb.jar # SeaPU" содержит ошибку по следующим причинам: java.lang.ClassNotFoundException: org.hibernate.annotations.common.reflection.MetadataProvider from BaseClassLoader @ f1c18 {VFSClassLoaderPolicy @ 1fd96c5 {name = vfszip: /opt/jboss-5.1.0.GA/server/default/deploy/sea.ear/ domain = ClassLoaderDomain @ 504ec1 {name = DefaultDomain parentPolicy = BEFORE parent = BEFORE = .bootstrap.NoAnnotationURLClassLoader @ 1de3f2d} roots = [MemoryContextHandler @ 28669459 [path = context = vfsmemory: // 5c4o12v-f20ynd-gpejvsex-1-gpejwdz8-2b real = vfsmejyv-v2-v2-v2-v2-образный финск-фьюжный файл ] DelegatingHandler @ 5956743 [path = sea.ear context = file: /opt/jboss-5.1.0.GA/server/default/deploy/ real = file: /opt/jboss-5.1.0.GA/server/default /deploy/sea.ear], DelegatingHandler @ 22116869 [путь = sea.ear / sea-client.jar context = file: /opt/jboss-5.1.0.GA/server/default/deploy/ real = file: / opt /jboss-5.1.0.GA/server/default/deploy/sea.ear/sea-client.jar], DelegatingHandler @ 2234728 [path = sea.ear / s ea-ejb.jar context = file: /opt/jboss-5.1.0.GA/server/default/deploy/ real = file: /opt/jboss-5.1.0.GA/server/default/deploy/sea.ear /sea-ejb.jar], DelegatingHandler @ 11678023 [путь = sea.ear / sea-ejb.jar / hibernate-search-3.4.0.Final.jar context = file: /opt/jboss-5.1.0.GA/ server / default / deploy / real = file: /opt/jboss-5.1.0.GA/server/default/deploy/sea.ear/sea-ejb.jar/hibernate-search-3.4.0.Final.jar], DelegatingHandler @ 12673014 [путь = sea.ear / sea-ejb.jar / jsoup-1.6.0.jar context = file: /opt/jboss-5.1.0.GA/server/default/deploy/ real = file: / opt /jboss-5.1.0.GA/server/default/deploy/sea.ear/sea-ejb.jar/jsoup-1.6.0.jar]] изолят = нулевой экспорт = [org.jsoup, org.hibernate.search. query.engine.impl, org.hibernate.search.query.engine.spi, org.jsoup.examples, org.hibernate.search, org.hibernate.search.backend.impl.lucene.works, org.hibernate.search. фильтр, org.hibernate.search.jpa, org.hibernate.search.query.facet, org.hibernate.search.sandbox.standalone, org.hibernate.search.bridge, org.hibernate.search.backend.imp l.jms, org.hibernate.search.backend, org.hibernate.search.spi.internals, org.hibernate.search.annotations, org.hibernate.search.exception.impl, META-INF.maven.org.hibernate. hibernate-search, org.hibernate.search.store.optimization, kz.edu.sdu.sea.apps.ejb.beans, org.hibernate.search.filter.impl, org.hibernate.search.query.dsl, org. hibernate.search.spi, kz.edu.sdu.sea.apps.ejb.util, org.hibernate.search.impl, kz.edu.sdu.sea.apps.ejb.client, org.jsoup.helper, org. hibernate.search.backend.impl.lucene.overrides, org.hibernate.search.store, org.hibernate.search.backend.configuration, org.hibernate.search.backend.impl.lucene, org.hibernate.search.exception, org.hibernate.search.query.engine, org.hibernate.search.query.dsl.impl, org.jsoup.parser, org.hibernate.search.engine, org.hibernate.search.backend.impl.blackhole, org. hibernate.search.stat, org.hibernate.search.backend.impl.jgroups, org.hibernate.search.backend.impl.batchlucene, org.hibernate.search.engine.spi, org.hibernate.search.jmx, org.jsoup.safety, org.hibernate.search.query.hibernate.impl, org.hibernate.search.util, org.hibernate.search.jpa.impl, org.hibernate.search.query.collector, kz.edu. sdu.sea.apps.ejb.db, org.hibernate.search.event, org.hibernate.search.backend.impl, org.jsoup.select, META-INF.maven.org.jsoup.jsoup, org.hibernate. search.bridge.util, org.hibernate.search.cfg, org.hibernate.search.analyzer, org.hibernate.search.query.fieldcache, META-INF, org.hibernate.search.batchindexing, org.hibernate.search. engine.impl, org.hibernate.search.query, org.hibernate.search.reader, org.hibernate.search.bridge.builtin, org.jsoup.nodes] NON_EMPTY}} Развертывание "" связано с ошибкой по следующей (-ым) причинам (-ам): ** НЕ УТОЧНЕНО Требуется постоянство.unit: unitName = sea.ear / sea-ejb.jar # SeaPU '**

04: 09: 30,665 ИНФОРМАЦИЯ [Http11Protocol] Запуск Coyote HTTP / 1.1 на http-127.0.0.1-8080 04: 09: 30,706 ИНФОРМАЦИЯ [AjpProtocol] Запуск Coyote AJP / 1.3 на ajp-127.0.0.1-800904: 09: 30,722 ИНФОРМАЦИЯ [ServerImpl] JBoss (микроконтейнер) [5.1.0.GA (сборка: SVNTag = JBoss_5_1_0_GA date = 200905221634)] Начато в 1m: 5s: 228ms

Спасибо !!!!

1 Ответ

0 голосов
/ 05 августа 2011

Мне кажется, вы пропустили зависимость от hibernate-commons-annotations.

...