СЦЕНАРИЙ: У меня есть база данных MySQL, где у меня есть одна таблица с отображением пользователя и продукта.Мое приложение предлагает API, поэтому я должен знать, что сопоставление не будет выполнено несколько раз.Поэтому я хочу проверить, сопоставлены ли уже два идентификатора (пользователя и продукта).
ПРОБЛЕМА:
У меня есть запрос от здесь где я ожидаю логическое значение, которое показывает мне, если запись уже существует.
@Query(value ="SELECT case when count(id) > 0 then true else false end FROM user_product_matching WHERE user_id=:userId AND product_id=:productId", nativeQuery = true)
Boolean productAlreadyAdded(@Param("userId") Long userId,@Param("productId") Long productId);
Я получаю ошибку:
java.math.BigInteger не может быть приведен к java.lang.Boolean
Хотя я могуне запускаю это прямо сейчас, моя цель - написать ОДИН естественный запрос в spring
, где я могу в результате этого запроса выполнить сценарий, если еще, где может выполнить вставку или пропустить.Возможно ли это и как мне написать запрос?
РЕДАКТИРОВАТЬ: Я забыл упомянуть, что это должно работать также из док-контейнеров, где Spring и базы данных не создаются Spring,Так что я думаю, что хранимые процедуры будут лучшим способом?