Hibernate自然Id和二级缓存

时间:2013-01-31 08:08:04

标签: hibernate ehcache second-level-cache

我正在尝试使用带有ehcache的Hibernate 4。我的实体有几个Id字段,它们不是我的DB中的主键。

@Entity
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@Table(name = "tbl_a")
public class A {

  @Id
  private Integer uniqueId;

  @NaturalId
  private Date insertDate;

  @NaturalId
  private Integer businessId;

  ...

}

我希望缓存此实体,但它由@ID字段缓存,而不是由@NaturalId s

的组合缓存

有没有办法让它发挥作用?

谢谢, Idob

1 个答案:

答案 0 :(得分:0)

尝试将insertDatebusinessId移至composite key。通过session.load(...)加载的对象可以存储在二级缓存中。