当前位置: 首页 > 知识库问答 >
问题:

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

叶福
2023-03-14

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

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

我再次尝试重建会话工厂,以便它可以接收新创建的文件,但这不起作用。重建会话工厂也不是一个好的/可扩展的解决方案。

Hibernate设置代码

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个答案

梁成双
2023-03-14

它表示不存在称为test_component的映射类型。您必须使用类型的名称,而不是表的名称。

如果代码为,

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

所以你必须使用Test而不是Test\u组件

 类似资料:
  • 问题内容: 通过Maven插件运行时,我试图使VertX Mertrics正常工作exec:java。 当我将应用程序打包到fatjar中并使用以下命令运行时,所有工作均按预期进行 当我运行它时,我看到: 我尝试了几种方法: 添加为编译依赖项 创建内部指标实施并通过文件进行注册(请仔细检查其是否已实际复制到 还添加为附加的classpath元素(除了上一点之外) 我已经仔细检查了ServiceLo

  • 我正在搜索一个在运行时注册@RestController的解决方案。我目前正在向

  • 本文向大家介绍Oracle Listener 动态注册 与 静态注册,包括了Oracle Listener 动态注册 与 静态注册的使用技巧和注意事项,需要的朋友参考一下 一.什么是注册 注册就是将数据库作为一个服务注册到监听程序。客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库。这个服务名可能与实例名一样,也有可能不一样。   在数据库服务器启动过程中,

  • 我有一个具有两个endpoint的服务: 公共endpoint:任何人都可以访问它,并打开用户帐户(注册) 受保护endpoint:只有注册用户才能访问它,将授权头用作HTTP POST请求的一部分 用例: 用户首先到达公共endpoint并通过HTTP POST打开帐户,该JSON包含。然后服务生成密码,并将其作为JSON响应传递回用户。 用户从服务中拿回密码后,他应该使用这个(连同他的)通过在

  • 只需要社区评估的东西。下面是一段代码,这是一个创建特定类型实例的简单工厂。该方法将在上下文中注册bean作为原型并返回实例。这是我第一次在运行时配置bean。你能好心评估并提供反馈吗?事先谢谢你。 FLEX Sync工厂已在IoC容器中配置为单例。因此,要创建一个新的同步管理器,我需要执行以下操作: 我使用的是Spring 3.1。请回顾并提供宝贵的反馈。 亲切的问候。

  • 本文向大家介绍Oracle静态注册与动态注册详解,包括了Oracle静态注册与动态注册详解的使用技巧和注意事项,需要的朋友参考一下 一、概述:   Oracle的注册就是将数据库作为一个服务注册到监听程序。客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到这个数据库。这个服务名可能与实例名一样,也有可能不一样。   在数据库服务器启动过程中,数据库服务器会向监听程