如何在Hibernate/JPA中为每个持久单元执行differnet import.sql?
我在 JPA/Hibernate 配置中配置了两个持久性单元。 现在我需要为每个持久单元执行不同的 import.sql。 如何指定应为每个持久性单元执行哪个 import.sql? 根据 Hibernate 的文档,我应该将 import.sql 放在类路径中。 如果我这样做,则 import.sql 将在每个持久性单元上执行。 我需要以某种方式为每个持久性单元指定不同的 import.sql。
I have configured two persistence units in my JPA/Hibernate configuration. Now i need to execute different import.sql for each persistence unit. How can I specify which import.sql should be executed for each persistence unit? According Hibernate to documentation, I should place import.sql in classpath. If I do that, import.sql is executed on each persistence unit. I need somehow to specify different import.sql for each persistence unit.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
FWIW,这可以在 Hibernate 3.6.0.Beta1 中实现(请参阅 HHH-5337),您现在可以使用 hibernate.hbm2ddl.import_files 属性声明要导入的文件:
因此您可以为每个持久性单元使用不同的值。
FWIW, this is possible with Hibernate 3.6.0.Beta1 (see HHH-5337), you can now declare what file(s) to import using the
hibernate.hbm2ddl.import_files
property:So you could use different values for each persistence unit.
当应用程序启动时,您可能可以使用 org.hibernate.tool.hbm2ddl.SchemaExport 类手动执行一些操作。
You could probably do something manual using the org.hibernate.tool.hbm2ddl.SchemaExport class when your application starts up.
在我的所有项目中,我只使用一个 import.sql,在它旁边我创建不同的其他 *.sql(例如:H2_import.sql、sqlServer_import.sql),并根据要使用的持久性单元复制 *.sql 的内容并将其粘贴到 import.sql 中
In all my projects, i use only one import.sql and next to it i create different other *.sql(eg : H2_import.sql,sqlServer_import.sql) and depending on wich persistence unit to use i copy the content of *.sql and past it into import.sql