是否可以将hibernate实体映射为id?
我有一个ID为APK的实体A,它有两个长字段,即其他实体的ID。因此,在实体A上执行添加/删除操作时,我发现Hibernate缓存未命中,为了避免这种情况,我希望使用实体而不是long是否可以将hibernate实体映射为id?,hibernate,jpa,Hibernate,Jpa,我有一个ID为APK的实体A,它有两个长字段,即其他实体的ID。因此,在实体A上执行添加/删除操作时,我发现Hibernate缓存未命中,为了避免这种情况,我希望使用实体而不是long @Entity @AccessType("field") @Table(name = "A") @XStreamAlias("A") @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) public class A { @EmbeddedId
@Entity
@AccessType("field")
@Table(name = "A")
@XStreamAlias("A")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class A {
@EmbeddedId
@AttributeOverrides({
@AttributeOverride(name = "x", column = @Column(name = "X_ID")),
@AttributeOverride(name = "y", column = @Column(name = "Y_ID"))})
private APK id;
...................
}
@AccessType("field")
@Embeddable
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class APK implements Serializable {
protected long x= 0;//this is id of another entity
protected long y= 0;//this is id of another entity
......
}
对
但rhus没有解决缓存未命中的问题
@Entity
@AccessType("field")
@Table(name = "A")
@XStreamAlias("A")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class A implements SerializableObject {
@Id
@JoinColumn(name = "X_ID", nullable = false)
@ManyToOne(targetEntity = X.class)
protected X x;
@Id
@JoinColumn(name = "Y_ID", nullable = false)
@ManyToOne(targetEntity = Y.class)
protected y;
...........
}