如何在Hibernate中使用JavaAssit动态添加在运行时创建的实体?

时间:2018-10-30 06:51:14

标签: java hibernate jpa java-annotations

我已经使用 javassist 生成带有注释的类文件。现在,我想为类中存在的字段设置一些数据,并需要使用 Hibernate 在数据库中创建表强>。我已经创建了会话工厂,但是当我尝试保存类(“ session2.save(obj)”)的对象实例时。

我遇到以下错误:

  

线程“ main”中的异常org.hibernate.MappingException:未知实体:hibernate.test.dto.TestClass   org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:548)     在   org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338)     在   org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:96)     在   org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)     在   org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)     在   org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)     在   org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)     在   org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)     在org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)处   org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)在   org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)在   hibernate.test.PojoGenerator.main(PojoGenerator.java:163)

Iam使用以下配置:

 AnnotationConfiguration cfg= new AnnotationConfiguration();
    cfg.setProperty("hibernate.connection.driver_class", "com.microsoft.sqlserver.jdbc.SQLServerDriver");
    cfg.setProperty("hibernate.connection.url","jdbc:sqlserver://10.1.171.137;databaseName=PFTSTUDIO;");
    cfg.setProperty("hibernate.connection.username","clear");
    cfg.setProperty("hibernate.connection.password","clear");
    cfg.setProperty("hibernate.hbm2ddl.auto","create");
    cfg.setProperty("show_sql","true");
    cfg.addAnnotatedClass(clazz);

0 个答案:

没有答案