É o seguinte, no meu sistema eu vou usar 2 bancos diferentes (por conta de espaço precisamos separar os servidores). E pra acessar o outro banco estamos utilizando database link. No Oracle, pra fazer o select basta colocarmos a expressão @NOME_DO_DB_LINK após o nome dos objetos no banco pra poder utilizar.
Agora o meu problema. Segue abaixo minha classe usuario
@Entity
@Table(name = "DKE_TAB_USUARIO@SROP_SCAT")
@SequenceGenerator(name = "SEQUENCE", sequenceName = "DKE_S_TAB_USUARIO_CODG_USUARIO@SROP_SCAT", allocationSize = 1)
@Name("usuario")
public class Usuario {
}
Na minha classe acima, tbm vou utilizar uma sequence desse outro banco, e quando escrevo a classe dessa maneira, o hibernate executa a query da sequence dessa forma:
select
DKE_S_TAB_ENDERE_CODG_ENDERECO@SROP_SCAT.nextval
from
dual
mas o correto pra se executar no banco é assim:
select
DKE_S_TAB_ENDERE_CODG_ENDERECO.nextval@SROP_SCAT
from
dual
Alguém teve problemas com isso e sabe como resolver?
Não adianta utilizar a propriedade schema da annotatino @Table pq ele entende que é só colocar o nome do schema na frente do nome do objeto.