gpt4 book ai didi

java - @DiscriminatorColumn 的动态值

转载 作者:太空宇宙 更新时间:2023-11-04 09:03:15 24 4
gpt4 key购买 nike

是否可以为 jpa @DiscriminatorColumn 提供动态值(例如,来自变量)?

例如,有这个实体:

@Entity
@Table(name = "topic")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(
discriminatorType = DiscriminatorType.INTEGER, name = "topic_type_id")
public class Topic {

@Transient
private Integer type_id

我尝试通过提供这样的 @DiscriminatorFormula 来动态设置 topic_type_id:

@DiscriminatorFormula("CASE WHEN type_id IS NOT NULL THEN type_id end")

但这并不像预期的那样工作。有谁知道如何为 DiscriminatorColumn 提供动态值?

最佳答案

不幸的是,没有。注释及其参数在编译时解析。

换句话说,在实例化包含 type_idTopic 实例之前,编译器需要使用 @DecriminatorColumn 来“了解”其参数。

下面列出了 JLS 中指定的允许的注释参数类型,供引用: https://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-9.6.1

关于java - @DiscriminatorColumn 的动态值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60529712/

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