Spring boot h2中的序列生成器不提供唯一值

Spring boot h2中的序列生成器不提供唯一值,spring-boot,testing,h2,sequence-generators,Spring Boot,Testing,H2,Sequence Generators,对于我的spring boot api测试中的H2数据库,有一个类似以下内容的插入脚本: INSERT INTO STORES_TEMPLATE (ID, COUNTRY, TEMPLATE_NAME_1, STORES_1) VALUES(STORES_TEMPLATE_ID_SEQ.NEXTVAL,'country', 'template_name', 'stores'); INSERT INTO STORES_TEMPLATE (ID, COUNTRY, TEMPLATE_NAME_2,

对于我的spring boot api测试中的H2数据库,有一个类似以下内容的插入脚本:

INSERT INTO STORES_TEMPLATE (ID, COUNTRY, TEMPLATE_NAME_1, STORES_1) VALUES(STORES_TEMPLATE_ID_SEQ.NEXTVAL,'country', 'template_name', 'stores');
INSERT INTO STORES_TEMPLATE (ID, COUNTRY, TEMPLATE_NAME_2, STORES_2) VALUES(STORES_TEMPLATE_ID_SEQ.NEXTVAL,'country', 'template_name', 'stores');
INSERT INTO STORES_TEMPLATE (ID, COUNTRY, TEMPLATE_NAME_3, STORES_3) VALUES(STORES_TEMPLATE_ID_SEQ.NEXTVAL,'country', 'template_name', 'stores');
实体:

@Entity
@Getter
@Setter
@NoArgsConstructor
@Table(name = "STORES_TEMPLATE")
public class StoresTemplate {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "STORES_TEMPLATE_ID_SEQ")
    @SequenceGenerator(name = "STORES_TEMPLATE_ID_SEQ", sequenceName = "STORES_TEMPLATE_ID_SEQ", allocationSize = 1)
    private Long id;

    @Enumerated(EnumType.STRING)
    private CountryEnum country;

    private String templateName;

    @Lob
    private String stores;

    public void setStores(List<String> stores) {
        this.stores = String.join(",", stores);
    }

    @JsonIgnore
    public List<String> getStoresAsList() {
        return Arrays.stream(stores.split(","))
                .distinct()
                .collect(Collectors.toList());
    }

}
@实体
@吸气剂
@塞特
@诺尔格构装师
@表(name=“存储\模板”)
公共类StoresTemplate{
@身份证
@GeneratedValue(策略=GenerationType.SEQUENCE,generator=“存储模板ID序列”)
@SequenceGenerator(name=“STORES\u TEMPLATE\u ID\u SEQ”,sequenceName=“STORES\u TEMPLATE\u ID\u SEQ”,allocationSize=1)
私人长id;
@枚举(EnumType.STRING)
私人国家;国家;
私有字符串模板名;
@高球
私人字符串存储;
公共无效设置存储(列表存储){
this.stores=String.join(“,”,stores);
}
@杰索尼奥雷
公共列表getStoresAsList(){
返回Arrays.stream(stores.split(“,”))
.distinct()
.collect(Collectors.toList());
}
}
在生产oracle数据库上,一切正常,但在我的h2数据库测试环境中,当我尝试保存新实体时,序列生成器会给我ID,这些ID与sql迁移数据预定义的实体ID重复。如何解决此问题

诀窍是排除测试的插入脚本,但还有其他可能的解决方案吗?

尝试
@SpringBootTest(properties={“spring.datasource.data=do_not_exist.sql})
这应该排除通过testTry
@SpringBootTest(properties={“spring.datasource.data=do\u not\u exist.sql”}
,这应该排除通过测试中的脚本插入的数据