ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2019-07-11 08:03:33  阅读:190  来源: 互联网

标签:java spring hibernate seeding


我来自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

标签:java,spring,hibernate,seeding
来源: https://codeday.me/bug/20190711/1430204.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有