Java 编译时动态注释参数
我知道您不能在运行时动态更改注释参数。我知道编译时的值,但不在注释类型的范围内。我也无法控制注释本身 我想将其用于JPA,因此我也将在示例中使用它: 我有一个基本程序定义一个实体Java 编译时动态注释参数,java,jpa,Java,Jpa,我知道您不能在运行时动态更改注释参数。我知道编译时的值,但不在注释类型的范围内。我也无法控制注释本身 我想将其用于JPA,因此我也将在示例中使用它: 我有一个基本程序定义一个实体a: @实体 @继承(strategy=JOINED)//默认策略 公共A类{} 现在我有了一个构建在该程序之上的风格,即它像库一样使用基本程序,但两者都是一起编译的。flavor扩展了A,应该能够确定其继承策略,即覆盖A类型的@inheritance的参数值 有没有一种方法可以在不影响字节码的情况下实现这一点?您不能
a
:
@实体
@继承(strategy=JOINED)//默认策略
公共A类{}
现在我有了一个构建在该程序之上的风格,即它像库一样使用基本程序,但两者都是一起编译的。flavor扩展了A
,应该能够确定其继承策略,即覆盖A
类型的@inheritance
的参数值
有没有一种方法可以在不影响字节码的情况下实现这一点?您不能在子类中“重写”继承。您可能可以在orm.xml中指定基类的继承。与Spring不同,我从未接触过JPA的xml配置,这可以很好地解决我的特定问题,谢谢您的提示!不过,我仍然对一种通用的方法感兴趣。另外,为了说明这一点,我不想“覆盖”子类中的注释,我知道它不是这样工作的。我知道,只需要在口味范围内做就行了。因此,在我需要更改根类的继承类型的风格中,这就是这个问题的全部要点……在运行时没有“正式”的方法来更改注释。然而,有一个问题显示了如何通过反射实现这一点:。但请记住,这是高度特定于JDK的,可能会因不同的环境或版本而中断。