代码之家  ›  专栏  ›  技术社区  ›  Ben

Hibernate在策略增量的id生成中不使用模式和目录名

  •  1
  • Ben  · 技术社区  · 14 年前

    我使用hibernate增量策略在实体上创建id。

    @GenericGenerator(name="increment-strategy", strategy="increment")
    @Id @GeneratedValue(generator="increment=strategy")
    @Column(name="HDR_ID", unique=true, nullable=false)
    public int getHdrId(){
         return this.hdrId;
    }
    

    @Table(name = "PORDER.PUB.PO_HEADER", schema = "UVOSi", catalog = "VIRT_UVOS")
    

    当我尝试插入实体时,Hibernate会创建以下SQL语句: 从中选择max(hdr\u id)PORDER.PUB.POúu标题

    select XXX from VIRT_UVOS.UVOSi.PORDER.PUB.PO_HEADER
    

    而且效果很好。

    顺便说一下,我使用的是运行在JBoss 4.2.3上的Hibernate 3.2和Seam 2.2

    伊莫

    1 回复  |  直到 14 年前
        1
  •  0
  •   Pascal Thivent    14 年前

    冬眠应该尊重 catalog schema 的属性 @Table increment 战略。这可能是个虫子,我在 Jira 休眠注释的。我会提出一个问题。

    实际上,我刚刚注意到JPA2.0引入了 schema catalog 上的属性 @SequenceGenerator @桌子