Hibernate 休眠自然Id和二级缓存

Hibernate 休眠自然Id和二级缓存,hibernate,ehcache,second-level-cache,Hibernate,Ehcache,Second Level Cache,我正在尝试将Hibernate4与ehcache一起使用。My entities有多个Id字段,它们不是My DB中的主键 @Entity @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) @Table(name = "tbl_a") public class A { @Id private Integer uniqueId; @NaturalId private Date insertDate;

我正在尝试将Hibernate4与ehcache一起使用。My entities有多个Id字段,它们不是My 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
字段缓存的,而不是通过
@naturaid
的组合缓存的

有没有办法让它发挥作用

谢谢,
Idob

尝试将
insertDate
businessId
移动到。通过
session.load(…)
加载的对象可以存储在二级缓存中