Hibernate не удаляет объект, хотя отладка в порядке? - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь удалить Объект с помощью Hibernate, но это не удаление.

Я отладил программу, чтобы убедиться, что Объект правильный, и это так, поэтому я предполагаю, что проблема может бытьв чем то я не представляю что это ... аннотации, конфигурация ??Может быть, кто-то может помочь!

Вот программа:

Контроллер :

// Erased the imports to make it simpler

@RestController
public class Controlador {

    @Autowired
    private FisicHostDao fisicHostDao;
    @Autowired
    private CredentialService credentialService;

    @RequestMapping(value = "/fisicHost/{id}/credentials", method = RequestMethod.GET, produces = APPLICATION_JSON_UTF8_VALUE)
    public List<Credential> credentialsByFisicHost(@PathVariable(value = "id") final Long fisicHostId, ModelMap modelMap){
        FisicHost optionalFisicHost = fisicHostDao.findById(fisicHostId);

        if (optionalFisicHost == null) {
            // Responder con 404
        }
        FisicHost fisicHost = optionalFisicHost;
        return fisicHost.getCredentials();
    }

    // This is the method handling the request / response

    @RequestMapping(value = "/fisicHost/{id}/credentials", method = RequestMethod.POST)
    public String deleteCredential(@PathVariable(value = "id") String credId){
        String[] parts = credId.split("-");
        int id = Integer.parseInt(parts[1]);
        Credential c = credentialService.getCredentialById(id);
        credentialService.delete(c);
        return "justreturnsomething";
    }
}

enter image description here

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

Так почему же он не удаляется?

1 Ответ

0 голосов
/ 28 ноября 2018

Полагаю, вам нужно зафиксировать транзакцию, чтобы удаление действительно было зафиксировано в базе данных.

См. Транзакция

Например:

Session session = sessionFactory.openSession();
try {
   session.beginTransaction();
   try {   
      doHibernateStuff(session);
      session.getTransaction().commit(); 
   } catch (Exception e) {
      session.getTransaction().rollback();
      throw e;
   } 
} finally {
   session.close();
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...