首页 > 代码库 > Dialect does not support identity key generation
Dialect does not support identity key generation
oracle数据库不支持主键自增
如果用的是mysql出现这种错误 就去检查application里spring中配置数据源的地方
sessionFactory里的<property name="hibernateProperties">
里的
- <props>
- <prop key="hibernate.dialect">
- org.hibernate.dialect.OracleDialect //要换成mysql的dialect
- </prop>
oracle不支持identity,支持的是sequence ,
@GeneratedValue(strategy = IDENTITY)
修改成sequence
你这使用sqlservser,然后dialect使用oracle怎么可能对,
如果想使用oracle而且没有制定sequece的名字,则hibernate使用默认的名字HIBERNATE_SEQUENCE
你必须创建名为HIBERNATE_SEQUENCE 的sequence
呵呵,楼上几位说得对,你用oracle的方言去连接sql server,当然乱套了。
另外,即使方言配对了,如果不是项目有特别需要,id生成器没必要按数据库产品来配,直接用native,通用所有方言。这样有助于将来做数据库迁移,万一真有需要指定id的特殊生成器,到时候再改也不迟。
PS:如果数据量特别大,而且增删都特别频繁,数据库自动生成KEY是不太合适的,这时候建议自定义generator类,调用某存储过程按照特定逻辑来取得下一个id。
Dialect does not support identity key generation
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。