一对多单向 Hibernate 映射不保存子表

2024-02-23

我有两张表叫做Person and Address。我映射的这些表一对多与 hibernate 使用注释。

然后在我的父实体中Person我创建一个Set<Address>举办儿童班。之后我创建一组地址并设置为Person实体并设置 Person 自己的值。

我的问题是,当我保存时,父实体子实体不会保存在数据库中。

这是我的代码:

人.java

@Entity
@Table(name="PERSON")
public class Person {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name="personId")
    private int id;
    @Column(name="personName")
    private String name;
    @OneToMany(cascade =CascadeType.ALL,fetch = FetchType.EAGER)
    @JoinColumn(name="personId") 
    private Set <Address> addresses;

地址.java

@Entity
@Table(name = "ADDRESS")
public class Address {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "addressId")
    private int id;
    @Column(name = "address")
    private String address;
    @Column(name="personId") 
    private int personid;

My DAO:

   public Person addNewPerson() {
    Person per = new Person();
    per.setName("aaaa person");
    Set<Address> addressSet = new HashSet<Address>();
    for(int i = 0; i<=3;i++){
        Address ad = new Address();
        ad.setAddress("aaa "+i);
        addressSet.add(ad);

    }
     per.setAddresses(addressSet);
     getHibernateTemplate().save(per );
    }

这里的人正在我的表格中添加,但地址未保存。为什么?

双向是可能的,但单向是我的问题


The personId列被映射两次:一次用于保存地址人员的外键,使用JoinColumn注释,并作为常规一次int地址栏中。

去除personId地址中的字段。如果您希望从地址访问人员 ID,请将关联映射为双向 OneToMany/ManyToOne 关联。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一对多单向 Hibernate 映射不保存子表 的相关文章

随机推荐

  • preg_match() 和用户名

    function isUserID username if preg match a z d 2 20 i username return true else return false 简单的 我有这个 你能解释一下它检查什么吗 我知道它会
  • 无法使用不安全的私钥通过 ssh 连接到 vagrant VM(vagrant 1.7.2)

    我有一个包含 3 个虚拟机的集群 这是 Vagrant 文件 mode ruby vi set ft ruby hosts host0 gt 192 168 33 10 host1 gt 192 168 33 11 host2 gt 192
  • 如何在 C 中创建 3 位变量作为数据类型? [复制]

    这个问题在这里已经有答案了 I can typedef char to CHAR1这是8位 但是如何将 3 位变量设置为数据类型呢 您可能想要执行类似于以下操作的操作 struct unsigned int fieldof3bits 3 n
  • CSS Hack 针对 Firefox 3.5+?

    Firefox 3 5 现在支持 nth 伪类 我用它来定位 Safari 和 Chrome 的 css 现在 Firefox 也会读取这些内容 从而导致轻微的布局问题 有谁知道专门针对 FF 3 5 的方法吗 BODY nth of ty
  • 如何使用 WordPress 点击播放 GIF(如 9GaG.com)?

    我需要在wordpress网站中实现这个 gif播放器 因为gif页面高达6mb 所以性能真的很糟糕 我读过这个Onclick 使用 jQuery 播放 GIF 图像并从头开始 https stackoverflow com questio
  • 如何删除 angular-ui-router URL 中的“#”符号

    我正在使用 angular ui router 库 但我遇到了 URL 问题 我有以下代码 app js app config function stateProvider urlRouterProvider stateProvider s
  • 根据 getDay 和 getHours + getMinutes 显示 div

    我正在为一家广播电台建立一个网站 并想显示当前正在播出的主持人 我构建了一个网络应用程序 其中包含演示者的数据 姓名 照片 个人简介以及每个工作日的开始 结束时间 div div class slot div div div 12 00 1
  • 以编程方式检查 DataBound CheckListBox

    我有一个 DataBound CheckedListBox 我需要检查上面的一些项目 我尝试使用以下代码 if string IsNullOrEmpty search Languages string langs search Langua
  • 如何避免 Raphael js 路径重叠

    我有一个基于 Raphael js 的流程图 它是一样的http raphaeljs com graffle html http raphaeljs com graffle html 然而 由于我有许多矩形拉斐尔盒子 并且我的线条路径是直线
  • Android 应用程序上的阿拉伯日期

    我正在开发 Android 应用程序 以及在应用程序上添加阿拉伯语的下一个版本 但我有一个问题 这个问题是 Android操作系统转换日期动态地为阿拉伯格式 我在 URL 参数中使用它 服务器无法读取它 如何将任何阿拉伯日期转换为英文日期
  • 打开 .git/config :权限被拒绝

    C Users Inspiron git config文件夹为空且命令 git config user email email protected cdn cgi l email protection返回错误 打开 git config 权
  • Android RecyclerView 适配器在单元测试中给出 null

    我正在尝试使用 AndroidJunit4 测试 RecyclerView 这是我的测试代码 package com kaushik myredmart ui all includes RunWith AndroidJUnit4 class
  • Symfony 序列化实体从输出中转义反斜杠

    您好 我正在为我的应用程序使用 Symfony2 我正在使用序列化器组件 encoder new JsonEncoder normalizer new GetSetMethodNormalizer callback function dat
  • 为什么最新的 JDK 更新后 Java 无法连接 MySQL 5.7?如何修复? (ssl.SSLHandshakeException:没有适当的协议)

    在 2021 年 4 月 JDK 的最新更新中 11 0 11 9 0ubuntu2 18 04 支持TLSv1 and TLSv1 1已被删除 大概是因为自 2021 年 3 月以来 这些版本不再受支持 这可以从差异中看出java sec
  • 使用Python吃掉内存

    我正在尝试创建一个可以 有目的地 消耗我们立即指定的 RAM 的应用程序 例如我想消耗512 MB RAM 那么应用程序将直接消耗512 MB 我在网上搜索过 大多数都是使用 while 循环来向内存中填充变量或数据 但我认为这是填充 RA
  • __repr__ 方法的目的?

    def repr self return
  • Recycler View 回调活动

    我正在尝试为单个回收器视图项目实现单击侦听器 并使用单击的数据 单个借用者 从我的活动中运行方法 怎么处理呢 我是 kotlin 新手 所以分步指导将会非常有帮助 Thanks 主要活动 val db by lazy Database ge
  • Java RXTX 库不加载本机库

    基本上我想使用 Arduino 编写一个简单的通信工具java 的 RXTX 库 http rxtx qbang org wiki index php Main Page并且在加载动态库时严重失败 我的系统规格 操作系统 OS X 优胜美地
  • 自动更新java应用程序

    我正在构建可以从网上免费下载的 Java 应用程序 我想添加自动更新功能 以修复错误或增强应用程序 为了自动更新 我将程序分成 3 个单元 基础 非常小的代码 将检查第二个单元 上传器 的新版本 更新它并运行它 上传器将检查项目的新更新并下
  • 一对多单向 Hibernate 映射不保存子表

    我有两张表叫做Person and Address 我映射的这些表一对多与 hibernate 使用注释 然后在我的父实体中Person我创建一个Set