oracle转postgresql FOR UPDATE WAIT 5 处理

@Override
    @Transactional(propagation=Propagation.MANDATORY)
    public void getLock() throws HibernateException, SQLException {
        String dbType = PropertiesUtil.getString("JDBC.Driver");
        Session session = null;        
        try{
            session = getSession();
            String sql = "";
            if(dbType.contains("postgresql")) {
                Statement statement = session.connection().createStatement();
                statement.setQueryTimeout(5);
                sql = "SELECT * FROM EMS_SYSTEM_DEVICE WHERE NAME='CMS' FOR UPDATE";
                statement.execute(sql);
            }else {
                sql = "SELECT * FROM EMS_SYSTEM_DEVICE WHERE NAME='CMS' FOR UPDATE WAIT 5";
                session.createSQLQuery(sql).list();
            }
        }finally{
            if(null != session){
                releaseSession(session);
            }
        }        
    }
原文地址:https://www.cnblogs.com/acme6/p/12560164.html