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

2024-01-10

我试图使用坚持一对多和多对一的关系休眠4.1.1但外键始终是NULL.

有两个实体:Account and Client. A Client可以有多个Accounts同时Account恰好有一个Client.

以下是课程(仅重要的):

账户.java

@Entity
@Table(name = "account")
public class Account implements Serializable {
    private Client client;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id")
    public long getId() {
        return id;
    }

    @ManyToOne
    @JoinColumn(name = "id_client")
    public Client getClient() {
        return client;
    }
}

客户端.java

@Entity
@Table(name = "client")
public class Client implements Serializable {
    private List<Account> accounts;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id")
    public long getId() {
        return id;
    }

    @OneToMany(mappedBy = "client", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    public List<Account> getAccounts() {
        return accounts;
    }
}

测试.java

session.beginTransaction();

Client client = new Client();
Account account1 = new Account();
Account account2 = new Account();

a.addAccount(account1);
a.addAccount(account2);

session.save(client);
session.getTransaction().commit();

运行时,Hibernate 将外键添加到表中:

Hibernate: alter table account add index FKB9D38A2D3B988D48 (id_client), add constraint FKB9D38A2D3B988D48 foreign key (id_client) references client (id)

两个帐户都有 id_client 列NULL.

我尝试把可空 = false@JoinColumn 关系,但这只是调用了一个异常。

Exception in thread "main" org.hibernate.exception.ConstraintViolationException: Column 'id_client' cannot be null


弄清楚了。我忘记将客户添加到帐户中。

account1.setClient(client);
account2.setClient(client);

现在可以了。感谢您的小费。 ;)

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

空外键,在使用 hibernate [4.1.1] 注释的 ManyToOne 关系中 的相关文章

随机推荐

  • 从 Visual Studio 2012 签入 TFS 后,所有文件都标记为只读

    我有两个项目的解决方案 我刚刚标记了解决方案并签入了它 现在所有文件的左侧都有蓝色挂锁的小图像 这显然意味着它们被标记为只读 到目前为止 我一直只使用 Tortoise SVN 这是我第一次签入 TFS 那么为什么会发生这种情况 或者如果这
  • 防止TinyMCE删除span元素

    这是问题演示 你可以在这里尝试一下 http fiddle tinymce com SLcaab http fiddle tinymce com SLcaab 这是TinyMCE默认配置 减去所有插件 使用扩展有效元素 跨度 1 打开 Ht
  • 如何在 Linux 和 Solaris 上编译 C?

    我想制作一个可以在 Linux 和 Solaris 中编译的 Makefile 我知道如何单独执行此操作 但如何将两者结合起来并能够检测我正在使用哪种操作系统 我试图仅对一个简单的 C 文件执行此操作 但更改的是编译器的名称 GNU Aut
  • 在 C++ 中,编译器“内联”函数对象意味着什么?

    在维基百科中它表示此类对象与 for each 一起使用时具有性能优势 因为编译器可以 内联 它们 我对这在这种情况下的确切含义有点模糊 或者在我不好意思说的任何情况下 谢谢你的帮助 最后一个参数为for each模板是一个functor
  • iOS 12 在 QuickType 栏中建议电话号码

    Lyft 如何在 QuickType 栏中建议我的电话号码 以便我无需手动输入 我知道 Apple 在 iOS 12 中引入了自动填充用户名 密码 安全代码等功能 看起来此电话号码建议可能使用类似的功能 但我不知道如何让我的任何应用程序建议
  • http://schema.openid.net/contact/email 和 http://axschema.org/contact/email 之间的区别

    何时使用http schema openid net contact email http schema openid net contact email以及何时使用http axschema org contact email http
  • 捕获信号:使用成员函数作为信号处理程序

    我有一个对象在无限循环中执行一些工作 这main 实例化该对象并调用run 方法 由于我不想使用线程 因此我需要一个解决方案来使我的对象停止运行 下面你就可以看到我的想法了 struct Foo void run running 1 whi
  • 如何使用 C# 启动或停止远程计算机中的 IIS 和 Windows 服务

    这段代码出现异常 尽管我在远程计算机上拥有管理员权限 class Program static void Main string args var sc new System ServiceProcess ServiceController
  • Docker 在构建时组成缺失的纱线依赖项

    在Dockerfile中运行yarn install时无法获取node modules文件夹 test sof docker compose yml Dockerfile package json yarn lock docker comp
  • HTTP 错误 503。该服务在简单的 ASP.NET 4.0 网站下不可用 [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我的本地笔记本电脑上发生了一些奇怪的事情 我在本地工作了很长时间的网站没有启动 为了解决这个问题 我创建了一个仅包含 index ht
  • AngularJS 会忽略 HTTP 标头中的 Set-Cookie

    我正在开发一个基于客户端 AngularJS 和服务器端 API Tomcat Jersey for WS 的 Java 应用程序 我的API的某些路径受到限制 如果用户没有会话 则返回的响应状态为401 在客户端 401 http状态被拦
  • 了解类对象构造

    我正在阅读 N3797 的第 12 7 条 给出以下示例 struct X int i struct Y X Y non trivial struct A int a struct B public A int j Y y non triv
  • 读取带有转义字符的 csv

    我有一个 csv 文件 其中包含一些文本 我想对这段文本进行标记 拆分为单词列表 但我遇到了如何处理的问题pd read csv解释转义字符 我的 csv 文件如下所示 text number one line nother line 12
  • 使用 R 将数据帧的多行转换为一行多列[重复]

    这个问题在这里已经有答案了 我有一个包含四列的数据框 df data frame UserId c 1 2 2 2 3 3 CatoId c C A B C D E No c 1 9 2 2 5 3 UserId CatoId No 1 C
  • 如何在 TeamCity 中设置构建代理优先级?

    我有两个代理可以构建我的配置 我设置了两个 因为有时我需要同时进行两个构建 如果两者都空闲且可用 如何设置构建代理优先级以强制 TeamCity 选择特定代理 现在它随机或通过一些未知因素选择代理 您可以过滤使用哪些代理 但我不确定您是否可
  • Android Q 中未显示 Toast

    Toast不适用于安卓Q 有什么变化吗Toast 我找不到任何发行说明Toast 我的代码很简单 override fun onCreate savedInstanceState Bundle super onCreate savedIns
  • Rasa 聊天机器人可以发起对话吗?

    我计划部署基于 rasa 的机器人和监控引擎 因此 如果出现问题 我希望机器人开始与特定用户进行对话 那可能吗 一个简单的方法是将用户消息从您的监控系统发送到您的输入通道 https rasa com docs core connector
  • 从 ActiveRecord 模型集合构建哈希

    我正在尝试从模型构建哈希 这就是我想要构建的哈希类型 United Sates gt us United Kingdom gt uk 我尝试了很多方法 现在只是在兜圈子 这只是我的一些糟糕的尝试 select Array new count
  • 当我在手机设置中启用密码/锁定图案时,如何以编程方式解锁 Android 手机?

    我尝试使用以下代码来解锁屏幕 只有在手机设置中没有启用密码 锁定图案的情况下 它才能在我的 Android 2 3 6 手机上正常工作 如果我在 Android 2 3 6 手机设置中启用密码 锁定图案 代码将导致手机显示密码 锁定图案屏幕
  • 空外键,在使用 hibernate [4.1.1] 注释的 ManyToOne 关系中

    我试图使用坚持一对多和多对一的关系休眠4 1 1但外键始终是NULL 有两个实体 Account and Client A Client可以有多个Accounts同时Account恰好有一个Client 以下是课程 仅重要的 账户 java