0

我正在寻找一种在部署我的 spring mvc 应用程序时使用 JPA 自动插入默认管理员帐户的方法。

我的数据库是基于实体生成的。

我想在每次部署应用程序时启动一些将插入默认管理员用户、分配角色的东西。

4

3 回答 3

1

我建议使用迁移实用程序来使您的数据库与您的代码库保持同步——这些通常是 DDL,但插入默认管理员用户、分配角色等的查询也可以是此迁移实用程序的一部分。有非常好的可用——Flyway是我用过的一种,Liquibase是另一种。

您还可以查看 Flyway 主页上的不同迁移实用程序的非常好的比较。

于 2012-07-29T21:42:59.757 回答
1

这取决于您使用的 JPA 实现。如果您使用Hibernate,您可以将import.sql文件(包含要加载的记录)添加到类路径。更多信息在这里

作为一种解决方法,您还可以使用dbunit工具。

于 2012-07-29T19:25:37.740 回答
0

我使用 CommandLineRunner 界面。

@Component    
public class CommandLineAppStartupRunner implements CommandLineRunner {
    @Autowired
    UserRepository userRepository;

    @Override
    public void run(String...args) throws Exception {
        User admin = new user(firstName);
        userRepository.save(admin);
    }
}

在应用程序启动之前,这个类将被执行。

您可以在此处找到其他方法:Spring 启动时运行逻辑指南

于 2018-09-17T16:47:19.013 回答