【发布时间】:2023-03-16 09:31:01
【问题描述】:
我正在尝试在类中动态设置列名(如下所示),但在 @Column 中,它需要常量值作为名称。
public class Common
{
final String pre_col_name_created;
public Common( String pre_col_name )
{
this.pre_col_name_created = pre_col_name;
}
@Column( name = pre_col_name_created + "" )
private String created;
}
请建议我从@Column 中的其他类动态地赋予pre_col_name_created 值。
我已经参考了以下链接:1,2,3,4,5,6,7,8,9,@98765431 987654332 @,12,13,14,15,16,17,18,19,20,21,22,23
我的目标是:我正在创建 10 个表,所有表都包含 created 列,但前缀具有根据数据模型类设置的不同值。
例如:
表abc 和qwe
表abc 有id,a_column(varchar) 和
表qwe 有id,q_column(varchar)
使用@Transient我得到了错误:
【问题讨论】:
-
我认为不可能这样做,但是,您可以使用一些 VO 类(如子类),然后将其映射到您需要的实体,只是一个提示
-
动态表的目标是什么?
-
看起来像XY problem。你到底想解决什么问题?
-
@Stefan 请参考编辑问题。
-
注释中的变量必须是常量。不能有具有不同注释值的类的实例。如前所述,使用子类并覆盖属性
标签: java hibernate jpa data-modeling