当前位置: 首页 > 面试题库 >

如何在Hibernate / JPA中为每个持久性单元执行differnet import.sql?

景元忠
2023-03-14
问题内容

我在JPA
/hibernate配置中配置了两个持久性单元。现在,我需要为每个持久性单元执行不同的import.sql。如何指定每个持久性单元应执行哪个import.sql?根据文档的Hibernate,我应该将import.sql放在classpath中。如果我这样做,则将在每个持久性单元上执行import.sql。我需要以某种方式为每个持久性单元指定不同的import.sql。


问题答案:

您可以在应用程序启动时使用org.hibernate.tool.hbm2ddl.SchemaExport类手动执行一些操作。

SchemaExport schemaExport1 = new SchemaExport(cfg1); // there are various c-tors available
schemaExport1.setInputFile("/import-1.sql");
schemaExport1.create(false, true);

SchemaExport schemaExport2 = new SchemaExport(cfg2);
schemaExport2.setInputFile("/import-2.sql");
schemaExport2.create(false, true);


 类似资料:
  • 我一直在尝试使用JPA Hibernate和mysql整理与我的DB的连接,但出于某种原因,无论我尝试什么,在启动tomcat服务器时,我都会遇到相同的异常: 这是我的JPA配置类: } 在这一点上,我想不出还有什么可以尝试的。。任何帮助都是非常感激的 编辑:这是整个堆栈跟踪

  • 有没有办法将quarkus security jpa与多个持久性单元一起使用?JpaIdentityProvider似乎直接注入了实体管理器工厂,这导致了“javax.persistence.EntityManagerFactory类型的不满意依赖”的异常。 可能有解决办法吗? 有什么建议吗? 谢谢文森特

  • 问题内容: 关闭redis服务器后,使用set存储的值被破坏,在这里我找到了使用持久性存储的方法,有人帮助我,如何使用javascript实现它? 我想将来自客户端的一些值存储在redis db中,并且必须在其他客户端中使用该值。 问题答案: 您需要配置Redis服务器以支持持久性机制。此配置存储在文件中,该文件在redis-server命令行上作为参数给出。 这是Redis 2.4的默认文件:h

  • 问题内容: 在构建应用程序时会创建persistence.xml中的持久性单元。由于我想在运行时更改数据库URL,是否有任何方法可以在运行时修改持久性单元?我应该使用其他数据库,而不是在分发后预先绑定一个数据库。 我正在使用EclipseLink(JPA 2.1) 问题答案: 保持持久性单元文件(Persistence.xml)不变。您可以按如下所示覆盖其中的属性。

  • 问题内容: 我正在开发Java桌面应用程序,并且对使用JavaFX非常感兴趣。我计划使用MVC架构,因为我对Java EE和MVC模型有一定的经验。 我想将数据存储在嵌入式derby数据库中,并使用Hibernate作为持久层,但是找不到关于使用hibernate和JavaFX实现MVC的出色教程。 我已经创建了持久性文件,但不确定如何使其与JavaFX一起使用。在Java EE中,我注入了EJB

  • 问题内容: 我需要使用一个数据库进行查询(非修改),而使用一个数据库进行命令(修改)。我正在使用Spring Data JPA,所以我有两个配置类: 在我的存储库中,有时我需要决定与EntityManager一起使用,如下所示: 我使用在我的定义持久性单元的名称 的persistence.xml : 定义了弹簧抛出。奇怪的是,看起来Spring尝试使用持久性单元名称实例化 bean ?我配置错误了