Changes between Version 19 and Version 20 of v6/pgsummary


Ignore:
Timestamp:
05/31/2012 09:25:14 AM (14 years ago)
Author:
huangzhong
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • v6/pgsummary

    v19 v20  
    164164}}} 
    165165 
     166* 手动开启JPA事务的问题 
     167{{{ 
     168有些定时任务中使用了 
     169EntityTransaction et = EnvUtils.getEnv().getEm().getTransaction(); 
     170et.begin() 
     171//数据库操作 
     172et.commit() 
     173这样的事务处理,在oracle版本中运行正常,但在postgresql上抛 
     174java.lang.IllegalStateException: Not allowed to create transaction on shared EntityManager - use Spring transactions or 
     175EJB CMT instead 
     176异常,初步估计和驱动有关,换成以下写法正常 
     177final EntityManager em = EnvUtils.getEnv().getEm(); 
     178    TransactionTemplate tt = EnvUtils.getEnv().getTransactionTemplate(); 
     179    tt.execute(new TransactionCallbackWithoutResult() { 
     180        public void doInTransactionWithoutResult(TransactionStatus status) { 
     181            try { 
     182                //数据库操作 
     183            } catch (Exception ex) { 
     184                ex.printStackTrace(); 
     185                status.setRollbackOnly(); 
     186            } 
     187        } 
     188    }); 
     189}}} 
     190 
    166191== 导数据 == 
    167192* 字符长度超长