java - 如果我使用 new 运算符创建实体实例并手动设置其 id(PK) 然后尝试持久化它(调用 EM#persist())会发生什么?
问题描述
如果我使用 new 运算符创建实体实例并手动设置其 id(PK) 然后尝试持久化它(调用 EntityManager#persist())会发生什么?
请问您能否详细说明实体状态?
解决方案
为实体手动分配主键并没有什么特别之处。如果调用persist,它将进入托管实体状态。在事务结束时,INSERT
将执行一个查询(如果您EntityManager
之前没有手动刷新)。
我建议阅读这篇文章以使其更清楚。
推荐阅读
- c# - Applitools.EyesSetViewportSizeException :无法设置所需的视口大小。似乎是一个舍入错误
- leaflet - Leaflet clearLayers 正在冻结浏览器
- list - Flutter:将firestore快照转换为streambuilder中的列表
- python - QGraphicsView 开始时大小错误
- python - Python 版本 3 - ValueError: no enough values to unpack (expected 2, got 1)
- python - Pandas python将列表转换为数据框并计算出现次数
- python - 如何在 Python 中保存数据框表?
- google-apps-script - 谷歌表格,更新信件库存数量
- javascript - 使用 DOM(篡改猴子)作为用户样式的暗模式切换开关
- c++ - 将成员函数指针作为参数传递给模板方法