我已经开发了Spring boot应用程序。我想与h2数据库进行集成测试。我想测试一些实时数据。一个高级实体包含许多“一对多”和“一对一”实体。我需要编写25个查询才能在sql开发人员中获取实际数据。
我需要大量测试数据。有什么方法可以将休眠对象导出到DML(插入)语句中
答案 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);
}
}
尽管以高级方式,有很多数据生成器工具和方法,但这种方式可能可以解决您的问题。