数据库主键冲突解决
2015-10-22 16:24
393 查看
新接手的工程中,测试人员反应一个简单的保存功能,有时好用,有时就经常不成功,需要重试很多次才行。
我在仔细查看了原代码逻辑,没有发现什么问题,进行了本地测试,也没发现不成功的情况。
通过翻看正式环境的log,发现了有一些id重复的报错,原来是这个搞的。
原来的实体类的id注释是这么写的:
这样在本地单个tomcat下是没有任何问题的,可放到生产环境的集群中问题就来了。
详细解释可以看:http://articles.e-works.net.cn/pc_server/article101508.htm
我在仔细查看了原代码逻辑,没有发现什么问题,进行了本地测试,也没发现不成功的情况。
通过翻看正式环境的log,发现了有一些id重复的报错,原来是这个搞的。
原来的实体类的id注释是这么写的:
@GenericGenerator(name="generator", strategy="increment") @Id @GeneratedValue(generator="generator") @Column(name = "id", unique = true, nullable = false) public Long getId() { return this.id; }
这样在本地单个tomcat下是没有任何问题的,可放到生产环境的集群中问题就来了。
详细解释可以看:http://articles.e-works.net.cn/pc_server/article101508.htm
@Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name = "id", unique = true, nullable = false) public Long getId() { return this.id; }
相关文章推荐
- Oracle AP Invoice APIs
- Android之ContentProvider整合SQLite数据库实例
- sql语句批量修改字段
- ORACLE禁用启用触发器
- Oracle 日期周详解以及周开始结束时间计算
- oracle 统计分析函数
- Aqua Data Studio 数据库工具使用
- Oracle 数据迁移
- SQL Server学习记录之字符串函数
- mongo语法和mysql语法对比学习
- Python操作Redis之订阅与发布
- 完整java开发中JDBC连接数据库代码和步骤
- sql server查找字段中含有汉字
- Oracle RMAN的参数
- Redis生存时间--Redis系列八
- mysql 参数作用域
- [MySQL优化案例]系列 — 优化InnoDB表BLOB列的存储效率
- topology进程结束会不会关闭数据库连接
- SQLSERVER 2012计算上一条,下一条数据的函数
- Redis事务--Redis系列七