Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 1
Регистрация: 23.02.2012
Сообщений: 81
1

Не отрабатывает метод save() из CrudRepository (никакого эффекта в БД)

26.01.2024, 14:56. Показов 664. Ответов 1

Author24 — интернет-сервис помощи студентам
Добрый день! Подскажите пожалуйста, из-за чего может быть такое. При выполнении эндпоинта с методом PATCH не работает метод save() из CrudRepository. Никаких эксепшенов не возникает, просто в БД нет никакого эффекта после выполнения эндпоинта. Эндпоинт меняет статус банковской карты пользователя.

Java
1
2
3
4
5
6
7
8
9
10
11
12
@Override
public boolean changeStatus(UUID cardId, String newStatus) {
    boolean result = false;
    Optional<Card> cardOpt = cardRepository.findById(cardId);
    if (cardOpt.isPresent()) {
        Card card = cardOpt.get();
        card.setStatusType(StatusType.valueOf(newStatus));
        cardRepository.save(card);
        result = true;
    }
    return result;
}
Java
1
2
3
4
5
6
public interface CardRepository extends JpaRepository<Card, UUID> {
    List<Card> findCardsByAccountId(UUID accountId);
    List<Card> findCardsByClientId(UUID clientID);
    @Query(value = "SELECT status FROM card WHERE id = :cardId", nativeQuery = true)
    Optional<String> findStatusById(@Param("cardId") UUID cardId);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2024, 14:56
Ответы с готовыми решениями:

Метод save класса-модели отрабатывает очень долго
Имеется такой код, который просто устанавливает значение поля status в 0 или 1. public function...

Метод Save()
Файл при изменении текста не перезаписывается при нажатии на &quot;сохранить&quot; class Editor : TabControl...

VkNet метод Video.Save
Здрасте, в общем я как ни бился с вызовом метода, так и не получилось ничего. Документация от...

Пользовательский метод save() у класса формы
Здравствуйте! Всех со Старым Новым Годом! Я переопределяю метод save в классе формы, для того чтобы...

Метод Save для компонента memo c++ builder
Здравствуйте, уважаемые программисты! Сам только-только начал учиться программировать. Пишу...

1
1 / 1 / 1
Регистрация: 23.02.2012
Сообщений: 81
27.01.2024, 16:04  [ТС] 2
Проблема решена. Не хватало @Transactional над методом changeStatus().

Добавлено через 2 часа 47 минут
Не нашёл как изменить моё последнее сообщение, допишу в новом. В общем, всё немного сложнее оказалось. Над классом CardServiceImpl, содержащим метод changeStatus, висела @Transactional(readOnly = true). То есть, для решения моей проблемы нужно либо убрать эту @Transactional(readOnly = true) над классом, либо добавить @Transactional над методом changeStatus, тогда всё работает.

Добавлено через 2 часа 0 минут
Вариант с @Transactional и для класса и для методов в статье на хабре описывается как хороший, выберу его.
0
27.01.2024, 16:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.01.2024, 16:04
Помогаю со студенческими работами здесь

Не отрабатывает метод offset()
Добрый день! Есть вызов метода: move(bullet); И сам метод: function move(obj) { ...

Не отрабатывает метод класса
Вызываю в классе главной формы методы созданного мною класса, но они почему-то не отрабатывают и...

Метод дихотомии не отрабатывает
Либо я жутко туплю, либо что то действительно не то, но то что я написал, работает некорректно: ...

Не отрабатывает метод offset()
Добрый день! Есть вызов метода: move(bullet); И сам метод: function move(obj) { ...

VkNet | Как правильно вызвать метод Video.Save?
Здравствуйте, есть ли у кого опыт работы с VkNet а конкретно можете объяснить как правильно вызвать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru