gpt4 book ai didi

java - Hibernate 3 OneToOne 与 PostgreSQL 配合使用

转载 作者:行者123 更新时间:2023-12-01 15:38:28 24 4
gpt4 key购买 nike

我有一个关系:客户有一个帐户。所以下面的实现是

帐户.类:

@Column(name = "client_id")
@GeneratedValue(generator = "gen")
@GenericGenerator(name = "gen", strategy = "foreign",
parameters = { @Parameter(name = "property", value = "clientDTO") })
private int client_id;

客户端.类:

@OneToOne(cascade = CascadeType.ALL)
private AccountDTO accountDTO;

我初始化了一个客户端、帐户,并将帐户设置为客户端,但是当我尝试将其保存到数据库时,出现异常:

java.sql.BatchUpdateException: Batch entry 0 insert into public.accounts (balance, client_id, comment, credit_limit, id) values (1000.0, 0, comment, 0.0, 8) was aborted. Call getNextException to see the cause.

如您所见,我的应用尝试插入 client_id = 0 的帐户;

如何解决?

最佳答案

使用 java.lang.Integer 而不是原始 int ——这样 Hibernate 就可以知道它还没有被设置,需要生成(或作为 null 传递)。或者您可以指定 unsaved-value=0 (但不确定如何从注释中做到这一点)

关于java - Hibernate 3 OneToOne 与 PostgreSQL 配合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8479664/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com