hibernate
事务
ACID
A:原子性 C:一致性I:隔离性 D:持久性
什么是事务。
事务就是一次交易,遵循上述的ACID四个原则。
事务的并发
多个事务在同时访问同一数据时,会出现事务并发的问题。
由事务并发会出现的三个问题。
脏读:读到了未提交的数据。
不可重复读:在一次事务中读同一个数据出现了不同的结果。
幻读:读同一张表的数据,前后数据不一致。
幻读发生在整张表上,不可重复读,发生在一行数据上。
如何解决事务并发的问题。
1、设置事务的隔离级别。
2、悲观锁:设置成为同步的机制,在查询语句后加上for update
3、乐观锁:设置版本号。每次查询完的同时版本号+1;
hibernate的常用注解。
@ID 用于model层设置当前实体类的属性映射在数据库的主键字段。
@GeneratedValue 设置为自动增加
@Entity 设置映射当前的实体类。
@OneToOne 设置多表之间的关系。
@OneToMany设置多表之间的关系。在一对一 ,或者是一对多时。要设置mappedBy ,一般设置在多的一方