1、hibernate中有乐观锁和悲观锁机制,通常我们使用的乐观锁机制多。使用悲观锁机制的情况极少
悲观锁:就是在线程访问的时候,其他线程不能进行访问,这样降低了效率
乐观锁:就是在数据库中加入一个字段,version,通过配置hibernate文件来交给hibernate来管理。
在hibernate配置文件中加入:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.andy.bbs.database.vo.User" table="tbl_user" optimistic-lock="version">
<id name="id">
<generator class="identity"></generator>
</id>
<property name="username"></property>
<property name="password"></property>
<property name="age"></property>
<property name="email"></property>
<property name="phonenum"></property>
<property name="sex"></property>
<property name="name"></property>
<property name="version"></property>
</class>
</hibernate-mapping>
悲观锁:就是在线程访问的时候,其他线程不能进行访问,这样降低了效率
乐观锁:就是在数据库中加入一个字段,version,通过配置hibernate文件来交给hibernate来管理。
在hibernate配置文件中加入:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.andy.bbs.database.vo.User" table="tbl_user" optimistic-lock="version">
<id name="id">
<generator class="identity"></generator>
</id>
<property name="username"></property>
<property name="password"></property>
<property name="age"></property>
<property name="email"></property>
<property name="phonenum"></property>
<property name="sex"></property>
<property name="name"></property>
<property name="version"></property>
</class>
</hibernate-mapping>