java - Hibernate 异常映射实体

标签 java hibernate

我有这个项目,我必须包含另一个具有@OneToMany依赖项的实体,类名是empresa(企业),但是当代码运行时我得到这个异常。

br.com.caelum.vraptor.InterceptionException: org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: com.assist.model.entity.Colaborador.Empresa in com.assist.model.entity.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(Unknown Source) br.com.caelum.vraptor.interceptor.InterceptorExecutor.executeAround(InterceptorExecutor.java:75) br.com.caelum.vraptor.interceptor.InterceptorExecutor$Proxy$$$WeldClientProxy.executeAround(Unknown Source) 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(Unknown Source) br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:93) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: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.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232) org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169) org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165) org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119) org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112) org.jboss.weld.event.EventImpl.fire(EventImpl.java:83) br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:123)

我不知道如何修复,也不知道是什么原因造成的,我对 java 和 hibernate 还很陌生,这是我的类(class)。

实体合作者=

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

实体企业

@OneToMany(mappedBy = "empresa", targetEntity = Colaborador.class, cascade = CascadeType.ALL, orphanRemoval = true) private Set colaboradores;

一个企业可以有很多合作者。

最佳答案

首先,创建类并将映射类放入 hibernate 配置中。例如:

<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>

然后你进行关系@oneToMany。

关于java - Hibernate 异常映射实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37866984/

相关文章:

Java8 Stream批处理以避免OutOfMemory

java - 使用struts 2和hibernate在jsp页面中显示Blob(图像)

java - 对象未保存在数据库中,使用 Spring Boot Rest Api 以 @OneToOne 关系保存

java - 初始 SessionFactory 创建失败 : java. lang.NoClassDefFoundError: javax/persistence/NamedStoredProcedureQuery

Spring 4 Ehcache 3 Hibernate 5 缓存默认模板设置

java - Hadoop 类未找到异常

java - 静态代码分析: method argument is the same constant on all invocations

java - 视频播放器不工作 - Android Studio

java - 人物 hell

java - 如何在表vaadin中设置复选框的大小