在我的 Spring-MVC(连同 Hibernate)项目中,我有一个名为“Division”的表,其中包含研究所中的所有部门。它在另一个名为“分配”的表中被引用。这是我想要实现的目标?1. 总是使用 Hibernate 从数据库中获取分部数据。但切勿在保存“作业”或任何其他实体时更新部门数据。
我没有使用任何缓存。@Immutable 只从数据库中读取一次数据,但是,我每次访问时都想从数据库中获取“Division”数据。
在我的 Spring-MVC(连同 Hibernate)项目中,我有一个名为“Division”的表,其中包含研究所中的所有部门。它在另一个名为“分配”的表中被引用。这是我想要实现的目标?1. 总是使用 Hibernate 从数据库中获取分部数据。但切勿在保存“作业”或任何其他实体时更新部门数据。
我没有使用任何缓存。@Immutable 只从数据库中读取一次数据,但是,我每次访问时都想从数据库中获取“Division”数据。
你应该使用这样的东西:
@ManyToOne
@JoinColumn(name = "column_name", referencedColumnName = "reference",
insertable = false, updatable = false)
private aaa bbb;
注意可插入和可更新的参数。
如果我理解正确,你有类似的东西:
@Entity
public class Division {
...
@OneToMany
Set<Assignment> getAssignments(){}
...
}
@Entity
public class Assignment{
...
@ManyToOne
Division getDivision(){}
...
}
如果是这样的话;那么你只需要一个 FetchType.EAGER:
@Entity
public class Assignment{
...
@ManyToOne(fetch = FetchType.EAGER)
Division getDivision(){}
...
}