Liebste Leute,
Ich programmiere diese Projekt nur im zweck von Lernen und brauche eure Hilfe.
ich bin sehr froh, dass ich bei update() soweit geschafft habe, aber mir fehlt noch ein Punkt. also ich möchte real, dass nu die Felder werden updaten die man eingibt und wenn man nichts eingibt werden alte werte übergeben. mein code schaut so aus und bei Passwort funktioniert es aber bei regDate nicht. Wenn man den if Zweig rauslöscht funktioniert nicht mal beim Passwort . ist das so optimal oder gibt bessere Möglichkeit
public ResponseEntity<String> updateAdmin(@RequestBody Admin admin){
User adminFromDb = adminDao.getUserByUsername(admin.getUsername());
if(adminFromDb != null && adminFromDb instanceof Admin){
/*
* Check which fields have changed. Change only fields which are passed from client.
*/
if(admin.getPassword().length() == 0){
admin.setPassword( adminFromDb.getPassword());
}else if(admin.getRegDate() == null){
admin.setRegDate(adminFromDb.getRegDate());
}
adminDao.update(admin);
return new ResponseEntity<String>("Admin updated", HttpStatus.OK);
}else{
return new ResponseEntity<String>("User not exitst or not admin", HttpStatus.INTERNAL_SERVER_ERROR);
}```
und update in AdminDAOImpl schaut so aus
```@Override
public void update(User user) {
this.sessionFactory.getCurrentSession().update(((Admin) user));
}```
Danke euch vielmals