Java Hibernate二级缓存:在oneToMany关系中创建实体时更新缓存的集合
我有以下课程Java Hibernate二级缓存:在oneToMany关系中创建实体时更新缓存的集合,java,hibernate,spring-boot,caching,Java,Hibernate,Spring Boot,Caching,我有以下课程 @Entity(name = "table") @Table(name = "table") @Cacheable @org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE) public class SomeClass { @Id long id; @OneToMany(mappedBy = "someObject") @org.hibernate.an
@Entity(name = "table")
@Table(name = "table")
@Cacheable
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class SomeClass {
@Id
long id;
@OneToMany(mappedBy = "someObject")
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private List<AnotherClass> anotherObjects;
}
这种情况是,当我从类型AnotherClass
创建一个对象,将其分配给某个someClass
对象,然后检索该someClass
对象时,我看不到新创建的对象(除非刷新缓存并重新启动)
每当向两个实体之间的关系添加新实体时,我是否可以做些什么来更新表示该关系的集合
注意:我在Spring boot 2.1.8项目中使用hibernate 5.3。当您有双向关系时,我认为通常建议更新两端。在您的情况下,当创建另一个类的实例并将其链接到某个类的实例时,还应该将另一个类添加到相应的另一个对象列表中 您将在中找到更详细的解释
public class AnotherClass{
@Id
long id;
@ManyToOne
@JoinColumn(name = "some_coulmn")
SomeClass someObject;
}