Я использую Java ee, как обновитьJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Я использую Java ee, как обновить

Сообщение Anonymous »

Я создаю веб-приложение на Java, в котором управляю объектами, связанными со счетами, врачами (Bacsi) и пациентами (Benhnhan). Проблема возникает, когда я пытаюсь обновить поля для врачей и пациентов с помощью поля со списком.
Несмотря на то, что я вызываю метод AddOrUpdate, обновление не работает должным образом для Bacsi и Benhnhan. Ошибок при выполнении нет, но обновленные значения полей со списком не сохраняются в базе данных. Я также пробовал использовать обновление вместо saveOrUpdate в своем репозитории, но это не решило проблему.
Вот мой код для слоев репозитория, службы и сервлета.
Уровень репозитория:


public void addOrUpdate(HoaDonEntity hoaDon) {
try {
session.getTransaction().begin();
session.saveOrUpdate(hoaDon);
session.getTransaction().commit();
} catch (Exception e) {
session.getTransaction().rollback();
e.printStackTrace();
}
}
Service Layer:

The interface defines the methods, and the implementation handles the conversion logic for the HoaDonRequest to 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;
}
}
Servlet Layer:

Here is how the doPost method handles the update requests:

@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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»