假设我有下表:
PARAMETER
- NAME varchar2(10)
- TABLE_NAME varchar2(50)
- REF_TABLE_ID number(10)
- VALUE varchar2(100)
此表包含其他表的参数值,例如,如果我有表 命名为EMPLOYEE,我想向ID为1的员工添加一个参数 PARAMETER表将有如下行:
insert into PARAMETER (NAME, TABLE_NAME, REF_TABLE_ID, VALUE) values ('PARAM1', 'EMPLOYEE', 1, 'Value of PARAM1');
当然这不会强制任何整数约束,但是这个PARAMETER表不能改变。
现在我想在我的实体EMPLOYEE中映射这个PARAMETER表,我需要的东西是要替换的东西(@SomeAnnotation)
public class Employee {
@OneToMany
@JoinColumn(name="REF_TABLE_ID")
@SomeAnnotation("and table_name = 'EMPLOYEE'")
private List<Parameter> parameters;
... etc
}
现在我使用@PostLoad注释来加载与此实体相关的所有PARAMETER,但我更愿意,如果我能 以某种方式映射PARAMETER表。
我的另一个想法是创建一个VIEW,我在其中过滤了TABLE_NAME ='EMPLOYEE'的PARAMETER表,但这意味着 我需要为数据库中的所有表创建一个视图,而且它们太多了。
有什么想法吗?