Hibernate envers AUD + обновить несколько таблиц, используя соединение, не работающее - PullRequest
0 голосов
/ 09 июля 2020

Оба объекта, Table1 и Table2, помечены как @Audited. Таблица2 -

@Audited
@Builder
@ToString
public class Table2 {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    @OneToOne
    @JoinColumn(name="txnRequestId")
    private Table1 txnRequest;
    ..
}

Я делаю обновление для обеих таблиц в Table1Repository вот так -

@Repository
public interface Table1Repository extends JpaRepository<Table1, Long> {

@Transactional
    @Modifying
    @Query(nativeQuery = true, value = "UPDATE Table1 tr, Table2 ti SET tr.status=?2, ti.status=?3 WHERE tr.id=ti.txnRequestId and tr.status=?1 and tr.processAfter<now()")
    int updateStatusToRequested(int oldStatus, int newStatus, Integer newTxnInfoStatus);

.. 
}

Мне пришлось выполнить собственный запрос, поскольку в противном случае соединение не поддерживается. Обновление работает сейчас, но записи в таблице AUD не происходят автоматически.

Что было бы элегантным способом сделать это?

...