Fee*_*eco 6 java hibernate spring-data-jpa
我将 Ehcache 提供程序用于 Hibernate 2 级缓存。它缓存一对多集合,用 注释@Cache,但不缓存一对一:
//hb annotations
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE, region = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
@OneToOne(cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = "user")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE, region = "details")
private Details details;
//getters, setters, constructors etc.
}
//hb annotations
public class Details {
@GenericGenerator(name = "generator", strategy = "foreign",
parameters = @Parameter(name = "property", value = "user"))
@Id
@GeneratedValue(generator = "generator")
@Column(unique = true, nullable = false)
private Integer id;
@OneToOne
@PrimaryKeyJoinColumn
private User user;
//getters, setters, constructors ets.
}
Run Code Online (Sandbox Code Playgroud)
我使用 Spring JpaRepository 来获取数据:
userRepository.findOne(id);
Run Code Online (Sandbox Code Playgroud)