SpringDataJPA3 @Transactional führt keine Aktualisierung für fehlerhaftes Objekt durchJava

Java-Forum
Guest
 SpringDataJPA3 @Transactional führt keine Aktualisierung für fehlerhaftes Objekt durch

Post by Guest »

Hier ist das Codeszenario

Code: Select all

   @Transactional
public User login(String username, String password, String ipAddress, boolean needDevRoleCheck)
throws CatalogAPIException, LoginFaultException {
return internalLogin(username, password, ipAddress, needDevRoleCheck);
}
und

Code: Select all

 private User internalLogin(String username, String password, String ipAddress, boolean needDevRoleCheck)
throws CatalogAPIException, LoginFaultException {

User user = null;
try {
user = userService.getUserByUsername(username.toUpperCase());
} catch (ServiceException e) {
logger.error(e);
}
authorizationService.checkDevModeLocked(user);
}
Benutzer hat so abgerufen

Code: Select all

 public User getUserByUsername(String username) throws ServiceException {

User user = userRepository.findByUsername(username.toUpperCase());
if (user == null) {
throw new ServiceException("definition.user.not.found", localeService.getMessage("definition.user.not.found", username));
}
return user;
}
und

Code: Select all

public void checkDevModeLocked(User user) throws LoginFaultException {
///some more logic and then
user.setDevLogin(Constants.TRUE);
}
Jetzt können Sie sehen, dass das Benutzerobjekt aktualisiert ist und sich in einem fehlerhaften Zustand befindet, aber nach Abschluss dieser Transaktion wird die Benutzerspalte nicht in der Datenbank aktualisiert
Aber dieselbe Codebasis Springboot2.6.6/JPA/Hibernate5 hat gut funktioniert, aber jetzt wird die neueste Version von Springboot3.4.1/JPA/Hibernate-core6.6.4 verwendet.
Gibt es irgendwelche größeren Änderungen von Hibernate zu bewältigen? Die @Transactional ?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post