NutzCN Logo
问答 jdbc访问dm数据库报非法的事务隔离级?
发布于 2462天前 作者 zp8821138 1814 次浏览 复制 上一个帖子 下一个帖子
标签:
 conn.setTransactionIsolation(4);

这句话报错java.sql.SQLException: 非法的事务隔离级,是因为达梦的数据库事务隔离级别不一样的原因

6 回复

哪里调用这样的语句了?

以前一个项目,从mysql转移到达梦,snaker这块用不了了,应该是事务拦截这块的事务隔离有问题

public class NutzTransactionInterceptor extends TransactionInterceptor {
    private static final Logger log = LoggerFactory.getLogger(NutzTransactionInterceptor.class);
    public void initialize(Object accessObject) {
        //ignore
    }

    protected TransactionStatus getTransaction() {
    	try {
            boolean isNew = false;
            if(Trans.get() == null) {
                Trans.begin(Connection.TRANSACTION_REPEATABLE_READ);
                isNew = true;
            }
            return new TransactionStatus(Trans.get(), isNew);
        } catch (Exception e) {
            log.error(e.getMessage(), e);
            throw new RuntimeException(e.getMessage(), e);
        }
    }

    protected void commit(TransactionStatus status) {
        try {
            Trans.commit();
        } catch (Exception e) {
            throw new RuntimeException(e.getMessage(), e);
        } finally {
            try {
                Trans.close();
            } catch (Exception e) {
                log.error(e.getMessage(), e);
                throw new RuntimeException(e.getMessage(), e);
            }
        }
    }

    protected void rollback(TransactionStatus status) {
        try {
            Trans.rollback();
        } catch (Exception e) {
            throw new RuntimeException(e.getMessage(), e);
        } finally {
            try {
                Trans.close();
            } catch (Exception e) {
                log.error(e.getMessage(), e);
                throw new RuntimeException(e.getMessage(), e);
            }
        }
    }
}

Trans.begin(Connection.TRANSACTION_REPEATABLE_READ);这句话有错,还是觉得snaker轻量级 ,uflo2还要hibernate,不喜欢

哦,那你改一下NutzTransactionInterceptor就好了嘛

Trans.begin(Connection.TRANSACTION_REPEATABLE_READ);改这句话? 可是我不知道大梦有几种事务隔离。。网上都没有大梦的jar包源码。。蛋疼 中央库都没达梦的jar。。。

级别就那么4种

那为啥达梦的会报错。如果就四种的话。

添加回复
请先登陆
回到顶部