下面列出了怎么用org.hibernate.annotations.Cache的API类实例代码及写法,或者点击链接到github查看源代码。
public void setCache(Cache cacheAnn) {
if ( cacheAnn != null ) {
cacheRegionName = BinderHelper.isEmptyAnnotationValue( cacheAnn.region() ) ? null : cacheAnn.region();
cacheConcurrencyStrategy = EntityBinder.getCacheConcurrencyStrategy( cacheAnn.usage() );
}
else {
cacheConcurrencyStrategy = null;
cacheRegionName = null;
}
}
@OneToMany
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public List<Pokemon> getPokemons() {
return pokemons;
}
private static Cache buildCacheMock(String region, MetadataBuildingContext context) {
return new LocalCacheAnnotationStub( region, determineCacheConcurrencyStrategy( context ) );
}
public Class<? extends Annotation> annotationType() {
return Cache.class;
}
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "userId", nullable = false)
public Login getLogin() {
return this.login;
}
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "roleId", nullable = false)
public Role getRole() {
return this.role;
}
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
public CustomerAccount getCustomerAccount() {
return this.customerAccount;
}
@ManyToMany
@JoinTable(name = "users_roles")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public Set<Role> getRoles() {
return roles;
}
@CollectionOfElements
@JoinTable(name = "roles_permissions")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public Set<String> getPermissions() {
return permissions;
}