Простой объект сохраняется в Spring + Hibernate - PullRequest
0 голосов
/ 13 ноября 2011

Полагаю, это не стандартный способ, поэтому любые советы будут полезны, вот мой код:

@RequestMapping("/register")
public String register(Map<String, Object> map, @ModelAttribute("user") MyUser user) {

    if(user.getLogin() == ""){
        map.put("user", new MyUser());
    }
    else{
        map.put("user", user);
        map.put("result", userService.addMyUser(user));
    }

    return "register";
}

что вызвало следующую ошибку:

org.hibernate.AssertionFailure: нулевой идентификатор в записи org.mypackage.MyUser (не очищать сессию после возникновения исключения)

Вот MyUser класс:

@Entity
@Table(name="MyUser")
public class MyUser{

    @Id
    @Column(name="idMyUser")
    @GeneratedValue
    private Integer id;

    @Column(name="login")
    private String login;

    @Column(name="password")
    private String password;

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

}

1 Ответ

1 голос
/ 13 ноября 2011

Попробуйте изменить стратегию и / или генератор для @GeneratedValue, см. здесь и здесь (например, вы можете попробовать @GeneratedValue(strategy = GenerationType.IDENTITY). ваша таблица базы данных настроена на генерацию значений первичного ключа. Исключение, по-видимому, указывает на то, что поле первичного ключа не установлено текущей стратегией и / или генератором.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...