如何将Hibernate对象导出到插入语句中

时间:2019-04-13 07:13:20

标签: java hibernate spring-boot

我已经开发了Spring boot应用程序。我想与h2数据库进行集成测试。我想测试一些实时数据。一个高级实体包含许多“一对多”和“一对一”实体。我需要编写25个查询才能在sql开发人员中获取实际数据。

我需要大量测试数据。有什么方法可以将休眠对象导出到DML(插入)语句中

2 个答案:

答案 0 :(得分:1)

MySQL Workbench和DBeaver都具有从表生成DML和DDL语句的功能。但是只有DBeaver可以选择也生成模拟数据,请看here

因此,如果您使用的是MySQL Workbench,则可以提取INSERT语句,然后自己创建一些数据,或者可以简单地尝试使用this这样的在线模拟数据生成器。

答案 1 :(得分:0)

我认为最好为测试环境编写一个夹具。 当需要进行性能测试时,我会做几次特殊的操作,因此必须初始化数据库才能拥有超过1000万条记录。

@Service
public class DevFixture extends BaseService implements CommandLineRunner {

......

 @Override
 public void run(){
 if(isTestEnvironment())
  for (int i = 0; i < 2000000; i++)
            xxxService.add(
                    (byte) (i % 2),(byte) (i % 3),"yyyy" + i,
                     reservationId);
  }       
}

尽管以高级方式,有很多数据生成器工具和方法,但这种方式可能可以解决您的问题。