在做一个项目时遇到这样的问题: 有一张员工表 用员工ID作为主键, 员工ID的格式为: 某个字母加数字编号
    例如: E100001 则代表 某个员工, B100001则代表某个经理   我现在该怎么做 能让它自己增加后面部分的数字
     数据持久化层我用的是hibernate...

解决方案 »

  1.   

    楼主的问题实际上,就是自定义主键生成策略。Hibernate提供了“自定义主键生成策略”的机制了,楼主可以以“Hibernate自定义主键生成策略”做为关键字去查询相关资料,很多的。希望说的能帮上楼主。
      

  2.   

    你可以建一个 sequence 之后顶一个一个函数.每次插入用起函数生产这个主键
      

  3.   

    建两个序列,然后拼接一下就行了 
    insert into A values('E'||sequence.nextval)
    差不多就这个意思,你自己动手试一下
      

  4.   

    这种情况,你可以采用以下做法:
    1.Hibernate的主键生成策略改为:assigned
    2.在数据库创建一个Sequence
    3.每次为ID赋值时,先取出sequence.nextvalue ,再将对应的角色字母加上去。