在JPA中,保存实体后不会返回默认值的原因是因为在保存之前,实体的默认值并没有被持久化到数据库中。为了解决这个问题,可以使用以下两种方法:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private Integer age;
public User() {
this.name = "Default Name";
this.age = 18;
}
// getters and setters
}
当创建新的User实例时,默认值会被设置,并在保存到数据库时保留。
User user = new User();
user.setName("Default Name");
user.setAge(18);
userRepository.save(user);
在保存实体之前,手动设置默认值,然后再进行保存操作。
无论使用哪种方法,都能确保在保存实体后,JPA会返回正确的默认值。