我来自php / laravel.每当我想要为数据库播种时,我只需要运行php artisan db:seed.这将运行一些将数据插入数据库的PHP脚本.我想使用spring / hibernate实现同样的功能.我知道我可以在架构创建后添加一个import.sql...
我来自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 – Hibernate – 种子数据库,不使用import.sql
基础教程推荐
- Java BigDecimal正确用法详解 2023-06-06
- Java创建型设计模式之建造者模式详解 2023-07-15
- SpringCloud Gateway DispatcherHandler调用方法详细介绍 2023-06-17
- Java 8 中 Function 接口使用方法介绍 2023-01-18
- jsp使用ECharts动态在地图上标识点 2023-08-02
- Java获取上月份最后一天日期8位的示例代码 2023-05-24
- Spring IOC 能降低耦合的问题分析及解决方法 2023-02-05
- SpringBoot整合atomikos实现跨库事务的详细方案 2022-11-29
- jsp SmartUpload 中文乱码问题解决 2023-08-03
- Java中BigDecimal,DateFormatter 和迭代器的"陷阱" 2022-12-16