zoukankan      html  css  js  c++  java
  • hibernate解决oracle的id自增?

           以前做SSH项目时,涉及到的数据库是mySQL,只需将bean的配置文件id设为native 就可以实现表id的自增。

    现在用到了Oracle,当然知道这样是不行的啦,那么用序列自增? 

          我在网络上搜索并测试了一些相关代码,总结起来就两类:

           1.手动创建sequence,在bean配置文件中将id类型设为sequence 并将创建的sequence注入 ;

           2.创建一个名字为hibernate_sequence(这个名字好像是hibernate默认的sequence名字,不创建会出错的)的全局使用的sequence,然后再对每一个表的ID生成的时候,使用触发器,取得hibernate_sequence.CURRVAL作为新记录的ID

           可是很不幸的是,无论哪种都提示我hibernate不支持序列化,这让我很郁闷。难道我的hibernate属于异类?

           在纠结半天之后,我只能将id 作为普通属性设为native,先得到序列next 再将其setId了,虽然也能实现id自增,但叫手设更为贴切,留这个问题以后研究。

            另外,bean的id数据类型要和对应配置文件id的数据类型保持一致,不要混用int 和long 

           


  • 相关阅读:
    0.1+0.2!==0.3
    标准盒模型IE盒模型
    Vue自定义组件通过v-model通信
    vue-cli3.0 使用 postcss-pxtorem px转rem
    render函数、createElement函数
    mixins(混入)
    vue.extend与vue.component
    js事件系列
    vue脚手架项目结构
    python模块和包
  • 原文地址:https://www.cnblogs.com/riskyer/p/3270949.html
Copyright © 2011-2022 走看看