2016-06-16 8 views
0

私はこのプロジェクトを持っていましたが、別のエンティティに@OneToMany依存関係を含める必要があります。クラス名はempresa(エンタープライズ)ですが、コードが実行されているときにこの例外が発生します。エンティティをマッピングするHibernat例外

br.com.caelum.vraptor.InterceptionException:org.hibernate.AnnotationException:com.assist.model.entityにcom.assist.model.entity.Colaborador.Empresa:mappedBy不明なターゲットエンティティプロパティを参照。 Empresa.colaboradores br.com.caelum.vraptor.interceptor.StepInvoker.invokeMethod(StepInvoker.java:69) br.com.caelum.vraptor.interceptor.StepInvoker.tryToInvoke(StepInvoker.java:55) br.com。 caelum.vraptor.interceptor.StepInvoker $ Proxy $ _ $$ WeldClientProxy.tryToInvoke(不明なソース) br.com.caelum.vraptor.interceptor.InterceptorExecutor.executeAround(InterceptorExecutor.java:75) br.com.caelum.vraptor .interceptor.Inceptceptorエグゼキュータ$プロキシ$ $$ WeldClientProxy.executeAround(不明なソース) br.com.caelum.vraptor.interceptor.AspectStyleInterceptorHandler.execute(AspectStyleInterceptorHandler.java:85) br.com.caelum.vraptor.core.DefaultInterceptorStack.next (DefaultInterceptorStack.java:83) br.com.caelum.vraptor.core.DefaultInterceptorStack.start(DefaultInterceptorStack.java:93) br.com.caelum.vraptor.core.DefaultInterceptorStack $ Proxy $ $$ _ WeldClientProxy.start(不明なソース) br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:93) sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav A:62) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:497) org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint .java:93) org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266) org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253) org.jboss.weld。 (ObserverNotifier.java:169) org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165) org.jboss.weld.event.ObserverNotifier.notifyObservers(Obser (EventImpl.java:83) br.com.caelum .vraptor.VRaptor.doFilter(VRaptor.java:123)

私が解決する方法を知ってはいけない、とこれを引き起こしているものを、私はJavaでかなり新たなんだと休止状態は、ここに私のクラスです。

エンティティColaborador =

@SkipSerialization 
@ManyToOne(fetch = FetchType.LAZY) 
@JoinColumn(name = "Id_Empresa", nullable = false, foreignKey = @ForeignKey(name = "FK_COLABORADOR_EMPRESA")) 
public Empresa empresa; 

エンティティEmpresaメール

@OneToMany(mappedBy = "Empresaメール"、targetEntity = Colaborador.class、カスケード= CascadeType。ALL、orphanRemoval = true) プライベートSet colaboradores;

誰かが私に感謝することができれば、1つのempresaが多くのcolaboradoresを持つことができました。

答えて

1

まず、クラスを作成し、マッピングクラスを休止状態にします。例:

<hibernate-configuration> 

    <session-factory> 
     <property name="hibernate.connection.url">${conn-string}</property> 
     <property name="hibernate.connection.username">${db-user}</property> 
     <property name="hibernate.connection.password">${db-pass}</property> 
     <property name="hibernate.dialect">com.ftu.utils.FtuCustomOracleDialect</property> 
     <property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property> 
     <property name="hibernate.current_session_context_class">thread</property> 

     <property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property> 
     <property name="hibernate.c3p0.min_size">1</property> 
     <property name="hibernate.c3p0.max_size">50</property> 
     <property name="hibernate.c3p0.timeout">30000</property> 
     <property name="hibernate.c3p0.checkoutTimeout">30000</property> 
     <property name="hibernate.c3p0.max_statements">1</property> 
     <property name="hibernate.c3p0.idle_test_period">100</property> 

     <property name="show_sql">false</property> 
     <property name="format_sql">true</property> 

     <mapping class="com.assist.model.entity.Empresa " /> 
    </session-factory> 
</hibernate-configuration> 

次に、relashionship @oneToManyを実行します。

+0

私はHibernate.cfgにマッピングパラメータを置くが、あなたの例を好きではない、 <マッピングクラス=「com.assist.model.entity.Empresa」/> 表情を見てcolaboradoresマッピングした方法: <マッピングクラス= "com.assist.model.entity.Colaborador" /> 彼らは同じパッケージに入っているので、これはうまくいくはずです。なぜ彼らがcom.assist.model.entity.Empresa.colaboradoresを求めているのかわかりません。 これは、onetomany relashionshiopを行う前にクラスをマッピングする必要があるためです。 –

+0

ええ、私はそれが問題であったと思っています。現在は働いていますが、もしrelashionshipが正しいのかどうかは分かりませんが、今はマッピングです。 –

関連する問題