public ProfileVO getProfilebyLoginIdLockMode(final String loginId){
ProfileVO vo = null;
List list = (List)this.getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(org.hibernate.Session session) throws HibernateException, SQLException {
Criteria cri=session.createCriteria(ProfileVO.class,"p");
cri.add(Restrictions.eq("p.loginId", loginId)).setLockMode(LockMode.FORCE);
return cri.list();
}
});
if(list.size()>0){
vo = (ProfileVO)list.get(0);
}
return vo;
}
do not use the following method , because it will get a new persistent context and lock will be failure !
...
Session session = this.getHibernateTemplate().getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
Query query = session.createQuery("from ProfileVO p where p.loginId='"+loginId+"'").setLockMode("p", LockMode.FORCE);
List list1 = query.list();
if(list1.size()>0){
vo = (ProfileVO)list1.get(0);
}
tx.commit();
session.close();
2010年6月14日 星期一
訂閱:
張貼留言 (Atom)
COVID-19 確診經歷紀實
原本以為真的是天選之人,就算先前家裡兩個小孩都確診都逃過了(可能有中獎但無症狀吧),不過就在2023年六月18日破解自認為天選之人的"心態",為什麼可以確認就是這天中獎的呢?因為在前都是居家上班,到人多的室內場所都會戴口罩,就剛好這天傍晚原本只想說要去附近的國...
-
在過一段時間後會出現如上錯誤訊息,這是因為MySQL已經切斷閒置的連線,所以可以利用connection pool的配置來處理這個問題。 Mysql服務器預設的「wait_timeout」是8小時(待查證), 所以mysql配置中my.ini 的wait_timeout值一定要大...
-
public class ClientTest { private static final int PORT = 8009; private static final int TIMEOUT = 2000; Server server; ...
-
當物件的屬性是null時預設是會顯示null,如下 {"status":"1","singers":["Jolin","Jolinnnnn"], "songs...
沒有留言:
張貼留言