gpt4 book ai didi

java - 简单对象在 Spring + Hibernate 中持久化

转载 作者:行者123 更新时间:2023-12-01 15:40:34 25 4
gpt4 key购买 nike

我认为这不是标准方法,因此任何提示都会有所帮助,这是我的代码:

@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: null id in org.mypackage.MyUser entry (don't flush the Session after an exception occurs)

这是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;
}

}

最佳答案

尝试更改 @GenerateValue 的策略和/或生成器,请参阅 herehere有关详细信息(例如,您可以尝试 @GeneratedValue(strategy = GenerationType.IDENTITY) 。您还可以检查数据库表是否设置为生成主键值。异常似乎表明当前策略未设置主键字段和/或发电机。

关于java - 简单对象在 Spring + Hibernate 中持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8112087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com