您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

JPA多对一关系-仅需保存ID

JPA多对一关系-仅需保存ID

错误消息表示您的对象图中有一个瞬态实例,没有明确保留。简短回顾一下对象在JPA中可以具有的状态:

错误消息告诉您,正在使用的(托管/分离)驱动程序对象持有对Hibernate未知(瞬态)的Car对象的引用。为了使Hibernate了解从驱动程序引用的任何未保存的Car实例也应保存,您可以调用EntityManager的persist- method。

另外,您可以在持久性上添加一个层叠(我想,只是从我的头顶上还没有测试过),它将在持久化驱动程序之前在Car上执行持久化。

@ManyToOne(fetch=FetchType.LAZY, cascade=CascadeType.PERSIST)
@JoinColumn(name = "CAR_ID")
private Car car;

如果您使用entitymanager的合并方法来存储驱动程序,则应CascadeType.MERGE改为添加,或两者都添加

@ManyToOne(fetch=FetchType.LAZY, cascade={ CascadeType.PERSIST, CascadeType.MERGE })
@JoinColumn(name = "CAR_ID")
private Car car;
其他 2022/1/1 18:21:33 有584人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶