最近做一个项目,持久化用hibernate ,数据库用oracle
要求一个表中的主键规范是这样的: 日期 + 操作类型 + 流水号  如: 20100111-001-00001
是有三部分组成的,主键要自动的生成
能不能配合着hibernate的主键生成机制解答一下。。多谢了!!!!

解决方案 »

  1.   

    还真不懂。
    刚学Hibernate,觉得有点晕
      

  2.   

    写一个类实现IdentifierGenerator接口。然后配置ID的时候 <generator class="你的实现类">....</generator> 就可以了
      

  3.   

    查数据库啊,接口中的参数把session都给你了,还有什么不能做的
      

  4.   

    还不如自己写个流水号生成逻辑,比研究如何按照hibernate的规则玩,要省时,假如哪天把hibernate换成别的,那就得重写了。
    流水号虽不重复,看似也不会更改,但作为数据表主键还是不太好吧......
      

  5.   


      建议方法:
        1,设置主键然后将你的该列作为一个字段来维护可以减少很多不便
        2,可以参考3楼的方法(我没试过。)
      自定义主键参考:Hibernate官方实现代码
         https://www.hibernate.org/170.html
      

  6.   

    在jsp上获取日期和类型呗
    流水号自动生成连起来就行了