gpt4 book ai didi

java - 使用枚举作为鉴别器值的 SINGLE_TABLE 继承策略

转载 作者:IT老高 更新时间:2023-10-28 20:51:19 25 4
gpt4 key购买 nike

在使用 SINGLE_TABLE 继承策略时是否可以使用枚举作为判别器值?

最佳答案

如果您想要实现的是不重复鉴别器值,则有一个简单的解决方法。

@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="FREQUENCY",
discriminatorType=DiscriminatorType.STRING
)
public abstract class Event {
}

@Entity
@DiscriminatorValue(value=Frequency.Values.WEEKLY)
public class WeeklyEvent extends Event {

}

public enum Frequency {
DAILY(Values.DAILY),
WEEKLY(Values.WEEKLY),
MONTHLY(Values.MONTHLY);

private String value;



public static class Values {
public static final String DAILY = "D";
public static final String WEEKLY = "W";
public static final String MONTHLY = "M";
}
}

实际上与 Hibernate/JPA 无关,但比必须在多个地方维护值更好。

关于java - 使用枚举作为鉴别器值的 SINGLE_TABLE 继承策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3639225/

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