lin*_*ips 7 hibernate jpa playframework playframework-evolutions playframework-2.4
我将Play项目从版本2.3.4迁移到2.4.2.这些项目使用JPA(Hibernate)和Evolutions.我有一个最初的Evolutions SQL脚本,它用一些示例数据填充数据库.此脚本现在不再起作用,因为Evolutions脚本现在在Hibernate生成表之前执行,这显然会导致错误.这是一个理想的行为吗?有没有办法改变执行顺序?
Evolutions 是通过简单的 SQL 脚本创建和更新数据库。因此,如果您使用某些本身生成数据表的框架(例如 hibernate),那么您需要关闭进化(或关闭自动生成并仅使用进化)
启动时填充数据库
我在 Cassandra 上有类似的问题,我做了什么 - 只需创建一个读取 CQL 文件并执行它的代码,并在创建实际数据表后运行此代码。
正如我所见,Hibernate 已经具有此功能 - 您需要将自定义 SQL 代码放入/import.sql类路径根目录中的文件中:
如果类路径('/import.sql')的根目录中存在名为 import.sql 的文件,Hibernate 将在创建数据库模式后执行从该文件读取的 SQL 语句。
| 归档时间: |
|
| 查看次数: |
629 次 |
| 最近记录: |