📄 codesolvedaobean.java
字号:
package com.foshanshop.ejb3.impl;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import com.foshanshop.ejb3.CodeSolveDAO;
import com.foshanshop.ejb3.bean.User;
/**
* 修改代码逻辑来避免更新丢失
*/
@Stateless
@Remote(CodeSolveDAO.class)
public class CodeSolveDAOBean implements CodeSolveDAO {
@PersistenceContext protected EntityManager em;
public void init(User user) {
em.persist(user);
}
public void payElectricityFee(int id) {//交电费
Query query = em.createQuery("update User set balance=balance-200 where id=?1");
query.setParameter(1, id);
query.executeUpdate();
try {
Thread.sleep(3000);//等待存工资事务开启
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public void saveLaborage(int id) {//存工资
Query query = em.createQuery("update User set balance=balance+13000 where id=?1");//此操作会等待交电费事务结束
query.setParameter(1, id);
query.executeUpdate();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -