java - 为什么 Hibernate ManyToOne 没有正确持久化?

标签 java hibernate many-to-one

我有两个实体 User 和 Wish :

@Entity
@Table(name = "T_USER")
public class User implements Serializable {

    @Column(length = 50)
    private String lastname;

    @Column(length = 50)
    private String firstname;

    @OneToMany(mappedBy = "user",cascade = CascadeType.ALL,fetch = FetchType.EAGER)
    @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
    private Set<Wish> wishes = new HashSet<Wish>();

    // getters and setters

}

@Entity
@Table(name = "T_WISH")
public class Wish implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

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


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

    @ManyToOne
    private User user;

    // getters and setters

    }

当我保存用户时,recruiter_id 为空,为什么。我已经尝试过了:

Wish wish = wishRepository.save(wish);
        user.getWishes.add(wish);
    User userSaved =    userRepository.save(user);

为什么没有设置recruiter_id。

最佳答案

您的用户类没有@Id注释字段。

关于java - 为什么 Hibernate ManyToOne 没有正确持久化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28594980/

相关文章:

mysql - 我如何告诉 Hibernate 通过外键指向的实体删除表行?

java - 空外键,在使用 hibernate [4.1.1] 注释的 ManyToOne 关系中

java - 使用正则表达式从成分字符串中解析数字信息

java - 如何在不同的 URL 公开 JaxWS Web 服务端点?

java - Hibernate:如何建模继承类型结构并在没有显式转换的情况下执行操作

java - 如何将 jndi 数据源查找交换到内存数据库以进行集成测试?

java - 在 Hibernate 中的联接表上为 OneToMany 列表映射创建 OrderColumn

java - Android 应用程序上的 Google 电子钱包集成

java - Tomcat 8 给出 JSP 编译错误

java - Hibernate 将单个外键列映射到多个表