Hibernate:如何每次从DB读取实体,但从不更新到DB?

时间:2013-03-21 15:03:36

标签: hibernate

在我的Spring-MVC(以及Hibernate)项目中,我有一个名为“Division”的表,其中包含该研究所的所有部门。它在另一个名为“Assignment”的表中引用。这是我想要实现的目标? 1.使用Hibernate从数据库中获取分区数据。但是在保存“分配”或任何其他实体时,永远不要更新分部数据。

我没有使用任何缓存。 @Immutable只从数据库中读取一次数据,但是,我想每次访问时从数据库中获取“Division”数据。

2 个答案:

答案 0 :(得分:2)

你应该使用这样的东西:

@ManyToOne
@JoinColumn(name = "column_name", referencedColumnName = "reference",
insertable =  false, updatable = false)
private aaa bbb;

注意可插入和可更新的参数。

答案 1 :(得分:1)

如果我理解得对你有类似的话:

@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(){}
   ...
}