加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Hibernate – 种子数据库,不使用import.sql

发布时间:2020-12-15 02:15:58 所属栏目:Java 来源:网络整理
导读:我来自php / laravel.每当我想要为数据库播种时,我只需要运行php artisan db:seed.这将运行一些将数据插入数据库的 PHP脚本. 我想使用spring / hibernate实现同样的功能.我知道我可以在架构创建后添加一个import.sql文件来为数据库设定种子.但是,我想使用ja
我来自php / laravel.每当我想要为数据库播种时,我只需要运行php artisan db:seed.这将运行一些将数据插入数据库的 PHP脚本.

我想使用spring / hibernate实现同样的功能.我知道我可以在架构创建后添加一个import.sql文件来为数据库设定种子.但是,我想使用java和ORM导入这些灯具,所以我不需要维护一个sql.

有办法吗?
如果没有,应该有一些配置来触发使用ORM实体管理器的脚本在模式创建后持久化数据库中的实体.
主要的想法是不要在模式修订版上维护一个大的sql播种器文件.

谢谢!

解决方法

如果您使用的是Spring数据,则可以使用 Repository populators.

否则,您可以注册加载弹簧上下文后触发的事件:

@Component
public class YourListener {

    // Declare your autowired beans here 

    @EventListener
    public void handleContextRefresh(ContextRefreshedEvent event) {
        // Your seeder 
        // + You can use all the registred beans (repositories,services...)
    }
}

有关详细信息,请访问:Better application events in Spring Framework 4.2

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读