我总是收到约束错误
引起:java.sql.BatchUpdateException:ORA-00001:违反唯一约束
每当我尝试调用一个同步方法时,该方法在其主键由 HBM 生成的表中插入一个值:
 <id name="logId" type="java.lang.Long">
        <column name="LOG_ID" precision="20" scale="0" />
        <generator class="sequence">
            <param name="sequence">TRANS_LOG_ID</param>
            <param name="allocationSize">100</param>
        </generator>
    </id>
这是线程调用的方法:
public synchronized static void saveTransLog(String detail, String stage) {
        TransLog transLog = new TransLog();
        transLog.setDetail(detail);
        transLog.setStage(stage);
    ...
        TransLogService.save(transLog);
}
我想知道对于这些类型的多线程场景是否有更可靠的锁处理。或者我需要添加一些东西来解决我的约束违规问题。
非常感谢。