休眠未设置外键

不信任

我试图通过这个简单的例子学习Hibernate,但是我对数据库中仍然为“ null”的外键有麻烦。

@Entity
@Table(name = "tb1")
public class Track {
    @Id
    @GeneratedValue(strategy= GenerationType.IDENTITY)
    @Column(name="id_tb1", unique= true)
    private int id_tb1;
    @Column(name = "title")
    private String title;
    @ManyToOne
    @JoinColumn(name="id_tb2")
    private tb2 cd;

这是第二堂课

@Entity
@Table(name = "tb2")
public class CD {

    @Id
    @GeneratedValue(strategy= GenerationType.IDENTITY)
    @Column(name="id_tb2", unique = true)
    private int id_tb2;
    @Column(name="title")
    private String title;
    @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL,mappedBy = "cd")
    private List<tb1> tracks = new ArrayList<tb1>();

我这样保存:

SessionFactory factory = new Configuration().configure("/resources/hibernate.cfg.xml").buildSessionFactory();
                Session session1 = factory.openSession();
                session1.beginTransaction();
                session1.save(tb2);
                session1.getTransaction().commit();

但是,如果未设置Isavethe id_tb2(在表tb1中),则它保持为空。我想念的是什么?

保罗·瓦西莱夫斯基

您必须在双向关系上都设置关系。

因此,您必须为CD和您的Track对象设置关系,并在以后持久/合并它们。

在没有看到很多代码的情况下,您必须执行类似的操作。

cd.getTracks().add(track);
track.setCD(cd);
session1.save(track);
session1.save(cd);

有关更多详细信息,请参见另一个问题

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django模型未设置外键对象

来自分类Dev

休眠外键错误

来自分类Dev

JPA中的级联设置和休眠中的外键冲突

来自分类Dev

JPA 休眠外键未在实体中设置

来自分类Dev

休眠命令外键表

来自分类Dev

休眠外键约束失败

来自分类Dev

外键和 mysql 与休眠

来自分类Dev

实体框架-未设置外键(0 / null),但导航属性不为null

来自分类Dev

EntityFramework中的数据库表外键未设置为null

来自分类Dev

为什么休眠不在OneToMany的所有者端设置外键

来自分类Dev

MySQL外键设置

来自分类Dev

休眠如何生成外键约束名称?

来自分类Dev

强制休眠以ON DELETE CASCADE创建外键

来自分类Dev

休眠:使用外键插入数据

来自分类Dev

休眠实体中的映射外键

来自分类Dev

休眠工具:如何忽略外键?

来自分类Dev

休眠条件按外键过滤

来自分类Dev

休眠工具:如何忽略外键?

来自分类Dev

休眠-从本地表外键中选择

来自分类Dev

外键关系:单向注释休眠

来自分类Dev

vim退格键触发未设置的映射

来自分类Dev

休眠:映射指向唯一键的外键

来自分类Dev

休眠集中包含外键的组合键

来自分类Dev

在phpMyAdmin中设置外键

来自分类Dev

C#设置外键

来自分类Dev

SequelizeJS:批量设置外键

来自分类Dev

通过休眠注释创建外键关系的问题

来自分类常见问题

休眠:无法使用外键查询数据库表

来自分类Dev

休眠多对一将外键更新为空