Hibernate在策略增量的id生成中不使用架构和目录名称
我正在使用hibernate增量策略在实体上创建IDHibernate在策略增量的id生成中不使用架构和目录名称,hibernate,orm,jakarta-ee,jboss,seam,Hibernate,Orm,Jakarta Ee,Jboss,Seam,我正在使用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; } 该实
@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语句:
从PORDER.PUB.PO_标题中选择maxhdr_id
这会导致以下错误:指定的组不明确,请通过完全限定组名重新提交查询
使用entityManager.createQuery手动创建查询时
hibernate使用完全限定名
select XXX from VIRT_UVOS.UVOSi.PORDER.PUB.PO_HEADER
这很好。
那么,如何让Hibernate在Id自动生成中使用完全限定的名称呢
顺便说一句,我使用的是运行在JBoss4.2.3上的Hibernate 3.2和Seam 2.2
问候
Immo我认为Hibernate在使用增量策略时应该尊重@Table的catalog和schema属性。这可能是一个bug,我在Hibernate注释中找不到任何类似的东西。我想提出一个问题
更新:事实上,我刚刚注意到JPA2.0在注释中引入了新的和属性。因此,我不确定从JPA 1.0提供商那里能得到什么,我最初认为JPA提供商应该使用@Table注释中的信息可能是错误的,规范对此不清楚,或者我找不到信息。使用xml连接表时也会出现这种情况。这一定是个错误。。。