如何避免在无法访问实体的情况下由Hibernate创建约束

nbnkbykc  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(96)

我有一个实体,在该实体中我无法访问将错误的unique=true修改到列定义中

@Embeddable
class SomePk{
    @Column(name="PERSON_ID", unique=true, nullable=false, precision=15)
    public long getPersonId() {
        return this.personId;
    }
}

将DB-Rider/DBUnit与Hibernate和Spring一起使用到JUnitTesting中,在根据DB-Rider原则完成插入之前,会自动创建表和约束。
我正在寻找一种方法来避免这种约束的产生。具有类似com.my.package.SomePk.PERSON_ID:forceUnique=false的东西
我研究了插入侦听器,以及Hibernate反向工程配置,但还没有找到方法……

xoefb8l8

xoefb8l81#

我发现的解决办法是将导致问题的实体复制粘贴到JUnitTest中,使用相同的包名,删除第二个类中的唯一性,而后者替换错误的类。我在一次SpringBoot JUnitTest中遇到了这个问题。

相关问题