Только не бейте.
Через конструктор при создании обьекта вызываю сеттер на password and username, пароль создает а username нет...
Код энтити класса:
@Entity
@Table(name = "users")
@NoArgsConstructor
@Getter
@Setter
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String name;
private String email;
private String password;
private String userName;
public User(String name, String email, String password) {
this.name = name;
this.email = email;
setUserName(email);
setPassword(password);
}
private void setUserName(String email) {
this.userName = email.split("@")[0];
LoggerFilter.logger.info("User.java: set user name;");
}
private void setPassword(String password) {
this.password = BCrypt.hashpw(password, BCrypt.gensalt());
LoggerFilter.logger.info("User.java: set password;");
}
}
Логгер:
Если отдельный методом вызывать сеттер на username, то работает.
@PostMapping("sign-up")
public void signUp(@RequestBody User user) {
user.setUserName(user.getEmail());
userRepository.save(user);
}
Подскажите пожалуйста, в чем проблема, почему я не могу вызвать второй сеттер?
Спасибо за помощь!