【发布时间】:2013-03-28 02:39:44
【问题描述】:
我有一个持久类,其中包含与我的用户表的 ManyToOne 关系,用于审计目的。事实上,我所有的类都有这些字段,甚至是 User 类。
public class MyClass implements Serializable {
@Fetch(value=FetchMode.SELECT)
@ManyToOne(optional=false, fetch=FetchType.LAZY)
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name = "CREATE_USER_ID")
public User getCreatedBy() {
return createdBy;
}
@Fetch(value=FetchMode.SELECT)
@ManyToOne(optional=false)
@NotFound(action=NotFoundAction.IGNORE)
@JoinColumn(name="USER_ID")
public User getLastUpdatedBy() {
return lastUpdatedBy;
}
}
为了让这个更好,一些栗色使大多数表中的审计字段为 CHAR(8),但 T_USER 中的字段为 VARCHAR2(8),这意味着无法在它们上创建外键.
无论如何,对 MyClass 的查询将启动查询以填充审计字段,然后依次启动查询以填充用户的审计字段。
我很少需要审计字段,所以我想让它们变得懒惰。不幸的是,我认为我在这里有很多不利于我的工作,其中最重要的是架构设计不佳。
谁能帮帮我?
杰森
【问题讨论】:
标签: hibernate