gpt4 book ai didi

java - 无法执行 JDBC 批量更新

转载 作者:行者123 更新时间:2023-12-04 06:34:22 28 4
gpt4 key购买 nike

我在制作我的第一个 Play 应用程序时遇到了一些麻烦。

我有一个类 Meal,其中可以包含一个或多个 MealEntries。一餐条目可用于多餐(即,如果您在多餐中吃 2 个鸡蛋)。但我得到了一个异常(exception)。

我可以理解为什么会出现异常,但我无法弄清楚如何治愈它。

这是我的异常(exception):

Caused by: java.sql.BatchUpdateException: Duplicate entry '4' for key 'mealEntries_id'
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2020)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1451)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
... 12 more

膳食类:
public class Meal extends Model {
public String name;
public Date consumed;

@OneToMany
public List<MealEntry> mealEntries;
}

膳食入门类:
public class MealEntry extends Model {
public int amount;

@OneToOne
public Unit unit;

@OneToOne
public FoodType type;

@OneToOne
public MealEntry with;
}

提前致谢

编辑:
试图创建一个测试用例,但遇到了其他一些错误。
我会试着解释:
当我尝试使用第一餐也使用的 MealEntries 创建第二餐时会发生异常。

最佳答案

感谢您的反馈,但我想通了。

我将我的 Meal 更改为 MealEntry 与 @ManyToMany 的关系,它解决了问题。

关于java - 无法执行 JDBC 批量更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5020786/

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