Я пишу приложение, которое синхронизирует объекты из стороннего источника данных в нашу собственную схему с промежуточным этапом преобразования / отображения.Я использую Hibernate для представления и сохранения сущностей в нашей собственной схеме.Проблема, с которой я сталкиваюсь, состоит в том, что у меня есть уникальный многостолбцовый ключ на одной из моих таблиц.Поведение, которое я хотел бы видеть, аналогично upsert: когда Hibernate идет, чтобы сохранить сущность и обнаруживает уникальное нарушение ограничения, он вместо этого выполняет обновление.Мы используем MySQL, который обеспечивает синтаксис INSERT ... ON DUPLICATE KEY UPDATE, но я не уверен, как или можно использовать Hibernate, чтобы использовать его?
Я полагаю, я всегда мог попробоватьвставьте, и если я поймаю исключение, сделайте обновление, но это кажется хакерским и неоптимальным.Какие-нибудь советы по чистому способу сделать это?