Hibernate基於timestamp的樂觀鎖
阿新 • • 發佈:2019-02-15
資料表
建立實體類
package com.dwx.models; import java.util.Date; public class Accounts { private int id; private String username; private double money; private Date lastUpdate; public Date getLastUpdate() { return lastUpdate; } public void setLastUpdate(Date lastUpdate) { this.lastUpdate = lastUpdate; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public double getMoney() { return money; } public void setMoney(double money) { this.money = money; } }
配置對映
<!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.dwx.models.Accounts" table="accounts"> <id name="id"> <generator class="native"></generator> </id> <timestamp name="lastUpdate" column="last_update"></timestamp> <property name="username"></property> <property name="money"></property> </class> </hibernate-mapping>
新增記錄
session=HibernateSessionFactory.getSession();
tx=session.beginTransaction();
Accounts a=new Accounts();
a.setUsername("白雪");
a.setMoney(100);
session.save(a);
tx.commit();
檢視資料表
修改記錄
session=HibernateSessionFactory.getSession(); tx=session.beginTransaction(); Accounts a=(Accounts)session.load(Accounts.class, 3); a.setMoney(500); session.update(a); tx.commit();