
typeorm插入之save与insert
发布日期:2021-05-28 16:24:07
浏览次数:33
分类:精选文章
本文共 527 字,大约阅读时间需要 1 分钟。
TypeORM的save和insert方法有明显的区别,主要体现在返回结果和对原实体的影响上。以下是优化后的详细分析:
插入一个新的对象
- save方法:返回新的保存后对象,包含自动生成的id,原实体对象上会出现自动生成的id。
- 示例:使用save方法插入一个新用户,返回包含id的实体对象,数据库生成主键id。
插入一个已存在数据库实体
- save方法:如果已存在的实体没有自动生成的主键,需手动指定主键避免错误。
- 示例:在未设置自动生成主键的情况下,重复保存同一实体不会报错,效果相同,数据库不受影响。
- 注意:无论是否自动生成主键,save方法不会触发数据库重复记录错误。
插入一个更改对象
- save方法:返回修改后的实体对象,触发数据库更新操作。修改后可以再次使用save进行更新。
- 示例:首次保存后修改属性值再次使用save,会更新数据库记录,返回最新实体。
save方法的判断机制
- 主键自动生成:save根据现有主键判断是否更新或插入。
- 主键未自动生成:save仅根据主键判断不能基于其他约束判断,可能导致插入错误。
总结:save方法在主键自生成的情况下更能准确判断插入或更新,而非自生成主键的情况需要谨慎处理,确保唯一约束不会导致意外插入错误。
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月20日 17时44分42秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
创意沙雕黑色蝙蝠侠/小丑动态404页面源码
2019-03-14
使用Mac OS X如何开启和配置防火墙
2019-03-14
格式化Mac硬盘---DoYourData Super Eraser安全、快速
2019-03-14
MacOS磁盘分区出错的解决办法
2019-03-14
MacOS 应对系统无响应的方法
2019-03-14
使用KeyShot调整一个场景中的照明亮度
2019-03-14
Mac隐藏辅助功能|自定义苹果Mac显示器
2019-03-14
ActivityNotFoundException异常错误
2019-03-14
socket 乱码解决
2019-03-14
elasticsearch 不能root启动
2019-03-14
git远程仓库切换
2019-03-14
国芯网国产芯片精选月刊V20190801 国产芯片 芯片选型 芯片厂家
2019-03-14
华大芯片调试问题
2019-03-14
DCMTK:存储服务类用户(C-STORE操作)
2019-03-14
ISTA算法-图像压缩感知算法之ISTA算法
2019-03-14
带照片捕捉功能的ESP32-CAM PIR运动检测器
2019-03-15
ARM Mbed RFID读取器
2019-03-15
如何使用SSH远程管理Linux服务器
2019-03-15