Я создаю веб-приложение на Java, в котором управляю объектами, связанными со счетами, врачами (Bacsi) и пациентами (Benhnhan). Проблема возникает, когда я пытаюсь обновить поля для врачей и пациентов с помощью поля со списком.
Несмотря на то, что я вызываю метод AddOrUpdate, обновление не работает должным образом для Bacsi и Benhnhan. Ошибок при выполнении нет, но обновленные значения полей со списком не сохраняются в базе данных. Я также пробовал использовать обновление вместо saveOrUpdate в своем репозитории, но это не решило проблему.
Вот мой код для слоев репозитория, службы и сервлета.
Уровень репозитория:
Этот метод обрабатывает логику saveOrUpdate для HoaDonEntity:
public void addOrUpdate(HoaDonEntity hoaDon) {
try {
session.getTransaction().begin();
session.saveOrUpdate(hoaDon);
session.getTransaction().commit();
} catch (Exception e) {
session.getTransaction().rollback();
e.printStackTrace();
}
}
Уровень обслуживания:
Интерфейс определяет методы, а реализация обрабатывает логику преобразования HoaDonRequest в HoaDonEntity:
public class HoaDonIplm implements Icomon {
@Override
public void AddOrUpdate(HoaDonRequest object) {
hoaDonReponsitory.addOrUpdate(converHoaDonFromRequest(object));
}
@SneakyThrows
public HoaDonEntity converHoaDonFromRequest(HoaDonRequest hoaDonRequest) {
HoaDonEntity hoaDon = new HoaDonEntity();
BeanUtils.copyProperties(hoaDon, hoaDonRequest);
if (hoaDonRequest.getMaBn() != null) {
BenhNhanEntity benhNhan = new BenhNhanRepository().getOne(hoaDonRequest.getMaBn());
hoaDon.setBenhNhan(benhNhan);
}
if (hoaDonRequest.getMaBs() != null) {
BacSiEntity bacSi = new BacSiRepository().getOne(hoaDonRequest.getMaBs());
hoaDon.setBacSi(bacSi);
}
return hoaDon;
}
}
Уровень сервлетов:
Вот как метод doPost обрабатывает запросы на обновление:
@SneakyThrows
private void Update(HttpServletRequest request, HttpServletResponse response) {
HoaDonEntity hoaDon = new HoaDonEntity();
String maHd = request.getParameter("maHd");
HoaDonResponse hoaDonResponse = hoaDonIplm.getOne(maHd);
BeanUtils.populate(hoaDonResponse, request.getParameterMap());
BenhNhanEntity benhNhan = new BenhNhanRepository().getOne(hoaDonResponse.getMaBn());
BacSiEntity bacSi = new BacSiRepository().getOne(hoaDonResponse.getMaBs());
hoaDonResponse.setTenBn(benhNhan.getTenBn());
hoaDonResponse.setTenBs(bacSi.getTenBs());
hoaDonIplm.AddOrUpdate(hoaDonResponse);
load(request, response);
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... -to-update
Я использую Java ee, как обновить ⇐ JAVA
Программисты JAVA общаются здесь
1735278526
Anonymous
Я создаю веб-приложение на Java, в котором управляю объектами, связанными со счетами, врачами (Bacsi) и пациентами (Benhnhan). Проблема возникает, когда я пытаюсь обновить поля для врачей и пациентов с помощью поля со списком.
Несмотря на то, что я вызываю метод AddOrUpdate, обновление не работает должным образом для Bacsi и Benhnhan. Ошибок при выполнении нет, но обновленные значения полей со списком не сохраняются в базе данных. Я также пробовал использовать обновление вместо saveOrUpdate в своем репозитории, но это не решило проблему.
Вот мой код для слоев репозитория, службы и сервлета.
Уровень репозитория:
Этот метод обрабатывает логику saveOrUpdate для HoaDonEntity:
public void addOrUpdate(HoaDonEntity hoaDon) {
try {
session.getTransaction().begin();
session.saveOrUpdate(hoaDon);
session.getTransaction().commit();
} catch (Exception e) {
session.getTransaction().rollback();
e.printStackTrace();
}
}
Уровень обслуживания:
Интерфейс определяет методы, а реализация обрабатывает логику преобразования HoaDonRequest в HoaDonEntity:
public class HoaDonIplm implements Icomon {
@Override
public void AddOrUpdate(HoaDonRequest object) {
hoaDonReponsitory.addOrUpdate(converHoaDonFromRequest(object));
}
@SneakyThrows
public HoaDonEntity converHoaDonFromRequest(HoaDonRequest hoaDonRequest) {
HoaDonEntity hoaDon = new HoaDonEntity();
BeanUtils.copyProperties(hoaDon, hoaDonRequest);
if (hoaDonRequest.getMaBn() != null) {
BenhNhanEntity benhNhan = new BenhNhanRepository().getOne(hoaDonRequest.getMaBn());
hoaDon.setBenhNhan(benhNhan);
}
if (hoaDonRequest.getMaBs() != null) {
BacSiEntity bacSi = new BacSiRepository().getOne(hoaDonRequest.getMaBs());
hoaDon.setBacSi(bacSi);
}
return hoaDon;
}
}
Уровень сервлетов:
Вот как метод doPost обрабатывает запросы на обновление:
@SneakyThrows
private void Update(HttpServletRequest request, HttpServletResponse response) {
HoaDonEntity hoaDon = new HoaDonEntity();
String maHd = request.getParameter("maHd");
HoaDonResponse hoaDonResponse = hoaDonIplm.getOne(maHd);
BeanUtils.populate(hoaDonResponse, request.getParameterMap());
BenhNhanEntity benhNhan = new BenhNhanRepository().getOne(hoaDonResponse.getMaBn());
BacSiEntity bacSi = new BacSiRepository().getOne(hoaDonResponse.getMaBs());
hoaDonResponse.setTenBn(benhNhan.getTenBn());
hoaDonResponse.setTenBs(bacSi.getTenBs());
hoaDonIplm.AddOrUpdate(hoaDonResponse);
load(request, response);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79309048/i-use-java-ee-how-to-update[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия