jpa - 休眠级联保存与 OneToOne 关系
问题描述
我有两个表用户
CREATE TABLE `users` (
`id` BIGINT NOT NULL,
PRIMARY KEY (`id`))
和推车
CREATE TABLE `carts` (
`id` BIGINT NOT NULL,
`user_id` BIGINT,
PRIMARY KEY (`id`))
ALTER TABLE `carts` ADD CONSTRAINT Cart_User_FK
FOREIGN KEY (`user_id`) REFERENCES `users` (`id`);
我为他们创建实体
@Entity
@Table(name = "users")
public class User{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@OneToOne(cascade = CascadeType.ALL, mappedBy = "user")
private Cart cart;
}
和
@Entity
@Table(name = "carts")
public class Cart{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "user_id")
private User user;
}
我尝试将购物车实例设置为用户并保存用户
Cart cart = new Cart();
cartRepository.save(cart);
user.setCart(cart);
userRepository.save(user);
但休眠不更新购物车表
从 SimpleJpaRepository 扩展的存储库
有人可以解释一下如何更新相关对象吗?
解决方案
推荐阅读
- node.js - Application Insights:节点 js 中的 CorrelationIdManager 错误
- reactjs - 为什么没有在所需的反应组件中呈现待办事项?(asp.net 核心 2.0/reactjs/typescript)
- python - WindowsError:[错误 183] 当文件已存在时无法使用 os.rename 创建文件
- phpspreadsheet - PhpSpreadsheet 从内存而不是文件加载 Excel 文件?
- python - 仅在 PANDAS 中的某些列上使用 to_numeric
- javascript - 承诺抓住不工作
- amazon-web-services - 重启服务器后 Strongswan 隧道无法正常工作
- java - 在适用于 Eclipse 的 Google Cloud 工具上运行 Objectify 时出现“projectId 必须匹配以下模式”异常
- ruby-on-rails - 回复按钮(用户只能回复一次)
- javascript - 如何在 Chromeless 中操作由 ul 和 li 元素组成的下拉菜单