hibernate生成器增量与表自动增量冲突
我在 hbm 文件中将生成器设置为“增量”,并且还将 auto_increment 内容也放入数据库表中。 这个 creteria 显示问题....
这两件事是冲突的吗? ?
I set generator as 'increment' in hbm file, and also i put auto_increment thing in database table also.
This creteria showing issue ....
This both thing is conflicting ? ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,它们是冲突的,没有意义。
当使用hibernate内置生成器“增量”时,hibernate通过在启动时从最大主键值计数来生成标识符,在多JVM中不安全并且使用数据库AUTO_INCRMENT它是为新行生成唯一标识的数据库。
在 mySQL DB 中,如果使用 AUTO_INCRMENT,您应该在映射中使用标识,让数据库安全地生成唯一标识。
来自 hibernate 文档
增量
身份
更多信息
Hibernate 文档第 5.1.4.1 节。生成器
My sql AUTO_INCRMENT 文档
Yes they are conflicting, makes no sense..
When using hibernate built-in generator 'increment', it's hibernate that generate the identifiers by counting from the maximum primary key value at startup, not safe in multi JVM and using the database AUTO_INCREMENT it's the database that generate a unique identity for new rows.
In mySQL DB, if using AUTO_INCREMENT you should use identity in your mapping to let the database safely generate unique identity.
From hibernate documentation
increment
identity
More information
Hibernate Doc section 5.1.4.1. Generator
My sql AUTO_INCREMENT documentation