Hibernate:如何在运行时动态注册POJO类?

时间:2019-05-11 15:52:43

标签: hibernate hibernate-mapping

我试图在运行时动态创建POJO类并将它们映射到Hibernate。但是,我在第二部分失败了。

生成类文件后,将其放置在Hibernate扫描POJO的位置。但这不起作用。

我已经尝试过重新构建会话工厂,以便它可以拾取新创建的文件,但是它不起作用。同样,重建会话工厂也不是一个好的/可扩展的解决方案。

休眠设置代码:

LocalSessionFactoryBuilder builder =
                new LocalSessionFactoryBuilder(dataSource());
        builder.scanPackages("com.aasaan.cp.dbo").scanPackages("com.aasaan.cp.dynaclass")
                .addProperties(getHibernateProperties());

错误:

Exception: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: test_component is not mapped [SELECT Test AS Test from test_component]

1 个答案:

答案 0 :(得分:0)

它说没有名为 test_component 的映射类型。您必须使用类型的名称,而不是表。

如果代码是

@Entity
@Table(name = "test_component")
public class Test

因此,您必须使用 Test 而不是 test_component