【问题标题】:org.hibernate.MappingException: Unknown entity - though my entity has all it needsorg.hibernate.MappingException: 未知实体 - 虽然我的实体拥有它所需要的一切
【发布时间】:2011-11-16 08:03:12
【问题描述】:

我正在尝试向 Spring Web 应用程序添加一些 Hibernate 功能。这是我第一次使用 Hibernate Session Factory 以某种方式独立于 Spring(我使用了 Hibernate 模板并且工作正常)。现在我得到了这些异常 org.hibernate.MappingException: Unknown entity ,尽管我认为这些组件连接良好。话不多说,让我们给你看代码:

实体类:

    @Entity // javax.persistence.Entity;
@Table(name = "CreazioneV49_Users")
public class User implements Serializable {

    private long id;
    private String name;
    private String sessionId;

    @Id
    @GeneratedValue
    @Column(name = "USER_ID")
    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    @Column(name = "USER_NAME")
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Column(name = "USER_SESSIONID")
    public String getSessionId() {
        return sessionId;
    }

    public void setSessionId(String sessionId) {
        this.sessionId = sessionId;
    }
}

存储库类:

@Repository
@Transactional
public class DBUtil implements DBUtilInterface {

    @Autowired
    @Qualifier("mySessionFactory")
    private SessionFactory sessionFactory;

    private Session currentSession() {
        return sessionFactory.getCurrentSession();
    }

    public void addUser(User user){
        currentSession().save(user);
    }
}

Spring Bean 组件:

@Component
@Scope(value = "session")
public class CreateV49 implements Serializable {

    @Autowired
    private DBUtilInterface dbUtil;

    public DBUtilInterface getDbUtil() {
        return dbUtil;
    }

    public void setDbUtil(DBUtil dbUtil) {
        this.dbUtil = dbUtil;
    }

    public void persistData(){
    User user = new User();
    user.setName("Gigel");
    user.setSessionId("1545645645646");
    dbUtil.addUser(user);
    System.out.println("GOOOD");
}

applicationContext.xml 的一部分

<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@//172.28.233.107:1521/SLRFORM"/>
        <property name="username" value="selir"/>
        <property name="password" value="selir1"/>
        <property name="maxActive" value="10" />
        <property name="initialSize" value="5" />

    </bean>

    <bean id="mySessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="myDataSource" />
        <property name="annotatedPackages">
            <list>
                <value>creazione.persistence</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.hbm2ddl.auto">create</prop>
            </props>
        </property>
    </bean>

    <bean id="txManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory">
            <ref local="mySessionFactory" />
        </property>
    </bean>
    <tx:annotation-driven transaction-manager="txManager"/>

    <aop:aspectj-autoproxy/>

如果在 DB 中找不到表,是否会抛出此错误?

更新:堆栈跟踪

    SEVERE: org.hibernate.MappingException: Unknown entity: creazione.persistence.User
javax.faces.el.EvaluationException: org.hibernate.MappingException: Unknown entity: creazione.persistence.User
        at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
        at javax.faces.component.UICommand.broadcast(UICommand.java:315)
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
        at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at creazione.exception.MyFilter.doFilter(MyFilter.java:50)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at com.googlecode.psiprobe.Tomcat60AgentValve.invoke(Tomcat60AgentValve.java:30)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.hibernate.MappingException: Unknown entity: creazione.persistence.User
        at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:550)
        at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338)
        at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:98)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
        at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
        at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
        at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
        at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
        at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
        at creazione.persistence.DBUtil.addUser(DBUtil.java:27)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at $Proxy49.addUser(Unknown Source)
        at creazione.components.CreateV49.persistData(CreateV49.java:254)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
        at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
        at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
        at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
        ... 31 more
Nov 16, 2011 10:32:36 AM com.sun.faces.lifecycle.InvokeApplicationPhase execute
WARNING: #{createV49.persistData}: org.hibernate.MappingException: Unknown entity: creazione.persistence.User
javax.faces.FacesException: #{createV49.persistData}: org.hibernate.MappingException: Unknown entity: creazione.persistence.User
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
        at javax.faces.component.UICommand.broadcast(UICommand.java:315)
javax.faces.FacesException: #{createV49.persistData}: org.hibernate.MappingException: Unknown entity: creazione.persistence.User
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
        at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:89)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
        at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at creazione.exception.MyFilter.doFilter(MyFilter.java:50)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at creazione.exception.MyFilter.doFilter(MyFilter.java:50)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at com.googlecode.psiprobe.Tomcat60AgentValve.invoke(Tomcat60AgentValve.java:30)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at com.googlecode.psiprobe.Tomcat60AgentValve.invoke(Tomcat60AgentValve.java:30)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
        at java.lang.Thread.run(Thread.java:619)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
Caused by: javax.faces.FacesException: #{createV49.persistData}: org.hibernate.MappingException: Unknown entity: creazione.persistence.User
        at java.lang.Thread.run(Thread.java:619)
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
Caused by: javax.faces.el.EvaluationException: org.hibernate.MappingException: Unknown entity: creazione.persistence.User
        at javax.faces.component.UICommand.broadcast(UICommand.java:315)
        at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
        ... 30 more
        at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
Caused by: org.hibernate.MappingException: Unknown entity: creazione.persistence.User
        ... 26 more
        at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:550)
Caused by: javax.faces.el.EvaluationException: org.hibernate.MappingException: Unknown entity: creazione.persistence.User
        at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338)
        at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
        at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:98)
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
        ... 30 more
        at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
Caused by: org.hibernate.MappingException: Unknown entity: creazione.persistence.User
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
        at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:550)
        at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
        at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
        at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:98)
        at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
        at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
        at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
        at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
        at creazione.persistence.DBUtil.addUser(DBUtil.java:27)
        at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
        at creazione.persistence.DBUtil.addUser(DBUtil.java:27)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
        at $Proxy49.addUser(Unknown Source)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
        at creazione.components.CreateV49.persistData(CreateV49.java:254)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at $Proxy49.addUser(Unknown Source)
        at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
        at creazione.components.CreateV49.persistData(CreateV49.java:254)
        at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        ... 31 more
        at java.lang.reflect.Method.invoke(Method.java:597)

我现在将尝试使用&lt;property name="annotatedClasses"&gt; 而不是包...虽然工作起来会很奇怪。

似乎使用 annotatedClasses 可以工作...用户 bean 已被识别,但我收到了一个奇怪的错误,尽管我的 ID 是自动生成的:

Hibernate: insert into CreazioneV49_Users (USER_ID, USER_NAME, USER_SESSIONID) values (null, ?, ?)
Nov 16, 2011 10:44:21 AM org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 1400, SQLState: 23000
Nov 16, 2011 10:44:21 AM org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: ORA-01400: cannot insert NULL into ("SELIR"."CREAZIONEV49_USERS"."USER_ID")

我使用的是 Oracle,因此我在 User bean 中的 ID 中添加了一个序列生成器,但没有成功:

@Id
@SequenceGenerator(name = "my-creazioneV49Seq", sequenceName = "creazioneV49Seq")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "my-creazioneV49Seq")
@Column(name = "USER_ID")
public long getId() {
    return id;
}

已解决:升级到 HIBERNATE 3.6.8 并将方言更改为 ORACLE!

【问题讨论】:

  • 您的persistence.xml 中有什么内容?
  • @CodeBrickie 我没有。如您所见,我只使用注释。
  • “有它需要的一切”这个声明太强了...再检查一下!
  • 你有没有尝试过使用 test.package.Footest.package.Bar列表>
  • 你能粘贴完整的堆栈跟踪吗?

标签: java hibernate spring


【解决方案1】:

我觉得你需要试试

 <property name="annotatedClasses">
  <list>
    <value>creazione.persistence.User</value>

     </list>
</property>

【讨论】:

  • 我见过很多人被这个咬过。 annotatedPackages 仅用于 package-info.java。可以使用packagesToScan,而不是一一添加类。
【解决方案2】:

您需要一个 persistence.xml 列出应该映射的类,或者需要一个带有包标签的 orm.xml 来命名实体类所在的包。

【讨论】:

  • 其实他应该用javax.persistence.Entity
  • 这就是为什么我使用注释和 Spring 类 AnnotationSessionFactoryBean...忘记 xml(hibernate xml)
  • 在这种情况下你不能没有任何 XML。
猜你喜欢
  • 2011-04-29
  • 1970-01-01
  • 2011-11-28
  • 2014-04-16
  • 2012-12-04
  • 2014-08-05
  • 2012-06-17
  • 1970-01-01
相关资源
最近更新 更多