Я использую стратегию приращения гибернации для создания своих идентификаторов на своих объектах.
@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_id) из PORDER.PUB.PO_HEADER
Это приводит к следующей ошибке: Заданная группа неоднозначна, повторите запрос, указав полное имя группы.
Когда я создаю запрос вручную с entityManager.createQuery ()
hibernate использует полное имя
select XXX from VIRT_UVOS.UVOSi.PORDER.PUB.PO_HEADER
и это прекрасно работает.
Так как же заставить Hibernate использовать полное имя в автогенерации Id?
Btw. Я использую Hibernate 3.2 и Seam 2.2 на JBoss 4.2.3
Привет
Immo