gpt4 book ai didi

java - 单元测试的 Hibernate 覆盖策略

转载 作者:太空宇宙 更新时间:2023-11-04 10:29:06 25 4
gpt4 key购买 nike

我们有一个父实体类,它定义了使用类生成 id 的策略。

@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class ParentEntity {
@Id
@GenericGenerator(name = "oid", strategy = "com.ourcompany.ourproject.jpa.util.OurIDGenerator")
@GeneratedValue(generator = "oid")
protected BigInteger id;

我正在尝试使用 H2 进行 JUnit 测试,它部分支持 BitInteger(它实际上支持 long)

我想要做的是仅在单元测试中更改策略以生成适合多头的值。我尝试过模拟 OurIDGenerator 以及返回 OurIDGenerator 类的 hibernate 方法,但没有成功。大家还有其他想法吗?

最佳答案

我认为您应该选择 Long 而不是 BigInteger,因为它更适合作为 @Id 表示形式。更重要的是,使用 Long 类型进行测试并使用 BigInteger 运行应用程序可能会产生不同的结果。除此之外,用于测试和应用程序的数据库也应该相同。

关于java - 单元测试的 Hibernate 覆盖策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50240301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com