Hibernate 相关注解

@Entity注解一个类声明为实体bean;

@Table(name="tableName") 映射实体bean对应的数据库表;

@Id 映射生成主键,映射到数据库的主键属性;

@GeneratedValue( ) 定义主键生成策略;

@Column 映射表的列;

@Version 定义乐观锁;

@Transient定义暂态属性;

@SequenceGenerator 注解声明了一个数据库序列;

@Basic声明属性的存取策略;

@Temporal 映射到数据库的时间精度;

@Transient  标示该属性并非是一个数据库的字段的映射;

@JsonIgnoreProperties(value = {"hibernateLazyInitializer"})解析惊悚数据--忽略解析字段;

@Cache(usage = CacheConcurrencyStrategy.READ_WRITE, region = "longTimeCache");

@Cache 定义了二级缓存策略和缓存范围

一、属性

1:usage: 当前缓存策略(NONE, READ_ONLY, NONSTRICT_READ_WRITE, TRANSACTIONAL)。

(1)read-only: 只读缓存

如果你的应用程序只需读取一个持久化类的实例,而无需对其修改, 那么就可以对其进行只读缓存

(2)read-write: 读写缓存

如果应用程序需要更新数据,那么使用读/写缓存比较合适。 如果应用程序要求“序列化事务”的隔离级别(serializable transaction isolation level),那么就决不能使用这种缓存策略

(3)nonstrict-read-write: 不严格读写缓存

如果应用程序只偶尔需要更新数据(也就是说,两个事务同时更新同一记录的情况很不常见),也不需要十分严格的事务隔离,那么比较适合使用非严格读/写缓存策略。

(4)transactional :事务性缓存

Hibernate 的事务缓存策略提供了全事务的缓存支持,例如对 JBoss TreeCache 的支持。这样的缓存只能用于 JTA 环境中,你必须指定为其hibernate.transaction.manager_lookup_class属性。

2:region: 可选参数,指定二级缓存的去域名,默认为类或者集合的名字。

3:include: 可选参数(all, non-lazy)。all包含所有属性,non-lazy仅包含非延迟加载的属性。



猜你喜欢

转载自blog.csdn.net/qq_19167629/article/details/80403289
今日推荐