Aktywne Wpisy

stormi +75
podobo dzisiaj dziewczyny mialy dodawac zdjecia w sukienkach i zadnej nie widzialam????!!!!! ale nie martwcie sie, najpiekniejsza niunia na wykopie (i nie tylko) zawsze wam dostarczy fotke
źródło: Zdjęcie z biblioteki
Pobierz
kuba4370 0
#tinder Spotkałem się z laską z Tindera, na spotkaniu było spoko i wypadłem w jej oczach bardzo dobrze. Po spotkaniu piszemy niby dalej ale ona jakoś średnio wydaje się być zainteresowana (odpisze raz na kilka h, raczej dość zdawkowe odpowiedzi bez większego ciągnięcia tematu). Laska była spoko, z tych "normalnych" więc tym bardziej dziwi mnie trochę jej postawa. Drugie spotkanie odpada przez najbliższy tydzień bo nie ma jej w mieście, a mi





@Entity
@Table( name="users" )
public class User {
@Id @GeneratedValue
private Long id;
@NotEmpty(message = "Pole LOGIN nie może być puste")
@Size(min = 10, message="pole LOGIN musi zawierać minimum 10 znaków")
@Column(name="login", unique=true, nullable=false )
private String login;
@NotEmpty(message = "Pole HASŁO nie może być puste")
@Column( nullable=false )
private String password;
@NotEmpty(message = "Pole E-MAIL nie może być puste")
@Column ( nullable=false )
private String email;
(...)
}
Mam metodę którą tworzę użytkownika, dodaje go do bazy wszystko śmiga, ale problem zaczyna się gdy chcę wykonać aktualizację profilu użytkownika. Formularz pobiera dane użytkownika, zmieniam np. jego login, zapisuję i dostaję errora z walidacji "pole hasło nie może być puste" co jest logiczne, bo mam adnotację @NotEmpty i teraz pytanie - Jak operować na tym modelu przy aktualizacji rekordu, ale nie zmieniając hasła? Chyba,że to robię źle to jeśli mogę prosić o wskazanie poprawnego rozwiązania to byłbym wdzięczny. #java #programowanie #spring #naukaprogramowania
Tak to wygląda w mojej aplikacji
@Controller
public class UserController {
private UserService productService;
@Autowired
public void setUserService(UserService userService) {
this.userService = userService;
}
@RequestMapping(value = "user/create", method = RequestMethod.POST)
public String saveUser(User user){
userService.saveUser(user));
return "redirect:/user/" + user.getId();
}
}
public interface UserService {
User getUserById(Long id);
User saveUser(User user);
}
@Service
public class UserServiceImpl implements UserService, UserDetailsService {
private UserRepository userRepository;
@Autowired
public UserServiceImpl(UserRepository userRepository){
this.userRepository =
A co tutaj trafia? Przesyłasz 'całego' usera ze zmienionym jakimś polem, czy takiego, który ma ustawione tylko to pole do zmiany?
To musisz zamiast robić save() od razu z obiektem, który dostajesz w żądaniu, najpierw pobrać go z bazy:
saveUser(User user) {
User userToUpdate = userRepository.getUserById(user.getId());
// i tutaj aktualizacja składowych
}
Aktualnie Twój 'user' z żądania znajduje się poza sesją Hibernate'a,