У меня есть несколько отображаемых объектов в приложении JPA/Hibernate. В сети я получаю пакеты, которые представляют обновления для этих объектов, или могут фактически представлять новые объекты целиком.
Я бы хотел написать такой метод, как
<T> T getOrCreate(Class<T> klass, Object primaryKey)
который возвращает объект предоставленного класса, если он существует в базе данных с pk primaryKey и в противном случае создает новый объект этого класса, сохраняет его и возвращает.
Следующим, что я буду делать с объектом, будет обновление всех его полей в транзакции.
Есть ли идиоматический способ сделать это в JPA, или есть лучший способ решить мою проблему?