Hibernate删除并插入主键

时间:2014-11-16 18:12:27

标签: java oracle hibernate

我有以下结构表:

CustomerId 
PaymentDate 
PK (CustomerId+PaymentDate)

系统插入一个名为PaymetnDate的软日期,它反映了需要付款的日期。

由于停工时间有时,PaymentDate系统无法到达,付款完成后需要更新paymentDate。

为此,我们正在做:

//请注意,每个客户只有一行。 primaryKey中的PaymentDate归因于遗留。我们计划将其删除。

function deleteAndInsert
        final Criteria criteria = session.createCriteria(ClassName.class);
        criteria.add(Restrictions.eq(CUSTOMER_ID, customerId));
        final ClassName result = (ClassName) criteria.uniqueResult();

        if(result != null) {
            session.delete(result);
        }
        session.save(newObject);
        session.flush();
        session.evict(ClassName)

如果deleteAndInsert调用一次,它就完美了。 如果功能在短时间内被称为两次,则无效。可能是什么问题?

第二次调用函数获取主键错误。在重试时会自动解决。

我认为结果缓存导致了这个问题。但不确定

0 个答案:

没有答案