【问题标题】:Hibernate Unknown Entity休眠未知实体
【发布时间】:2010-06-05 04:03:37
【问题描述】:

我有两个映射了休眠类的 jar 文件。一个 jar 文件可以正常工作,而对于下一个 jar 文件,它没有被映射。我得到未知实体异常。 Persistence.xml 很好,但我不知道为什么会这样。猜猜是什么螨虫的问题???

【问题讨论】:

  • 堆栈跟踪会很有帮助,这个问题提供的信息很少。
  • 抱歉我错过了,谢谢 manyxcxi java.lang.IllegalArgumentException: Unknown entity: com.test.Equipment at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:223) at sun.reflect .NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework .orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke
  • 您可以编辑您的问题以添加此堆栈跟踪并删除评论...看起来会更好。

标签: hibernate jpa


【解决方案1】:

检查您的Equipment 班级是否有@Entity

此注解 (@Entity) 将一个类标记为 Hibernate (JPA) 实体。

【讨论】:

    【解决方案2】:

    对我来说,这是一个重构问题。我重构了我的实体包,但忘记将组件扫描路径更改为新的包名称。在实现并改变之后,它起作用了!

    【讨论】:

      【解决方案3】:

      尝试在您的实体类设备上添加以下注释。如果需要,相应地更改表名:

      @Entity
      @Table(name = "Equipment")
      @XmlRootElement
      

      【讨论】:

        【解决方案4】:
        package Test;
        
        import java.util.EnumSet;
        
        import org.hibernate.Session;
        import org.hibernate.SessionFactory;
        import org.hibernate.Transaction;
        import org.hibernate.boot.Metadata;
        import org.hibernate.boot.MetadataSources;
        import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
        import org.hibernate.service.ServiceRegistry;
        import org.hibernate.tool.hbm2ddl.SchemaExport;
        import org.hibernate.tool.schema.TargetType;
        import org.junit.Test;
        
        import Entity.Users;
        
        public class TestMain {
            public static void main(String[] arg){
                 try {
                ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
                SessionFactory sessionFactory = new MetadataSources( serviceRegistry ).buildMetadata().buildSessionFactory();
                Session session=sessionFactory.openSession();
                Transaction transaction=session.beginTransaction();
                Users users=new Users();
                users.setId(2);
                session.save(users);
                transaction.commit();
                session.close();
                sessionFactory.close();
                 }catch(Throwable th){
                        System.err.println("Init SessionFactory creation failed" );
                        System.err.println(th);
                        throw new ExceptionInInitializerError(th);
                 }finally {
        
                }
            }
        
        
        }
        

        【讨论】:

        • 最好添加一个关于你的代码的小描述
        猜你喜欢
        • 2016-01-05
        • 1970-01-01
        • 1970-01-01
        • 2018-06-09
        • 1970-01-01
        • 1970-01-01
        • 2017-04-11
        • 2017-01-22
        相关资源
        最近更新 更多