JPA Sequence de outro schema

33 views
Skip to first unread message

Carlos Diego

unread,
Aug 4, 2016, 1:35:35 PM8/4/16
to ce...@googlegroups.com
Boa tarde galera,

Estou passando pelo seguinte problema:

Tenho uma classe mappeada do tipo: 

@Entity
@Table(name = "tb_usuario", schema="seg")
@SequenceGenerator(name = "SQ_USUARIO", sequenceName = "SQ_USUARIO", allocationSize = 1, schema="seg")
@Proxy(lazy = true)
public class Usuario implements Serializable
{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SQ_USUARIO")
@Column(name = "id_usuario")
private BigInteger idUsuario;
@Column(name = "nome")
private String nome;

........................

sendo que no meu arquivo hibernate.cfg.xml, o schema default está como: 

<property name="hibernate.default_schema">ped</property>

Como poderam observar, a classe Usuario esta mapeada por uma tabela no schema seg, no caso minha sequence sq_usuario também está no schema seg.

De acordo com o meu mapeamento, se eu quiser inserir um objeto do tipo Usuario acontece um erro, pois quando ele vai dar um nextval na sequence, ele tenta enxergar essa sequence (sq_usuario) no schema ped (default no hibernate).

relation "ped.sq_usuario" does not exist Position: 17

Alguem sabe o que devo mudar para ele buscar a sequence no mesmo schema da tabela, ou seja, seg.sq_usuario?

Espero que eu tenha sido claro =)

Obrigado.



Att,

Carlos Diêgo
Analista de TI 

Ricardo Mateus

unread,
Aug 4, 2016, 1:45:40 PM8/4/16
to ce...@googlegroups.com
Oi Carlos, boa tarde!

Já tive oportunidade de trabalhar com entidade em esquemas diferentes.
No meu caso, que o projeto não era tão grande, eu tirei a marcação do esquema no arquivo de configuração do Hibernate e anotei todas as entidades com os seus respectivos esquemas. Isso deu a liberdade de cada entidade ter seu próprio esquema.

Verifica se isso por te ajudar.

Atenciosamente,


Ricardo Mateus

Vivere, non si può vivere senza passato
Andrea Bocelli



From: cdieg...@gmail.com
Date: Thu, 4 Aug 2016 14:35:32 -0300
Subject: [CEJUG] JPA Sequence de outro schema
To: ce...@googlegroups.com
--
-- Você está inscrito na lista de discussão técnica do CEJUG. Para sair da lista de discussão, envie um email para cejug+un...@googlegroups.com.
---
Você recebeu essa mensagem porque está inscrito no grupo "CEJUG" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cejug+un...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para ce...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/cejug.
Para mais opções, acesse https://groups.google.com/d/optout.

Rafael Ponte

unread,
Aug 4, 2016, 2:17:13 PM8/4/16
to ce...@googlegroups.com
Oi,

Tente adicionar o atributo catalog na anotação @SequeceGenerator.
--
Rafael Ponte
TriadWorks | Formação Java
http://cursos.triadworks.com.br

Carlos Diego

unread,
Aug 4, 2016, 2:58:33 PM8/4/16
to ce...@googlegroups.com
Oi Rafael,

Tentei colocar o catalog e continuou com o mesmo problema.


Att,

Carlos Diêgo
Analista de TI 


-- Você está inscrito na lista de discussão técnica do CEJUG. Para sair da lista de discussão, envie um email para cejug+unsubscribe@googlegroups.com.

---
Você recebeu essa mensagem porque está inscrito no grupo "CEJUG" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cejug+unsubscribe@googlegroups.com.

Para postar nesse grupo, envie um e-mail para ce...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/cejug.
Para mais opções, acesse https://groups.google.com/d/optout.

--
-- Você está inscrito na lista de discussão técnica do CEJUG. Para sair da lista de discussão, envie um email para cejug+unsubscribe@googlegroups.com.

---
Você recebeu essa mensagem porque está inscrito no grupo "CEJUG" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cejug+unsubscribe@googlegroups.com.

Para postar nesse grupo, envie um e-mail para ce...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/cejug.
Para mais opções, acesse https://groups.google.com/d/optout.
--
Rafael Ponte
TriadWorks | Formação Java
http://cursos.triadworks.com.br

--
-- Você está inscrito na lista de discussão técnica do CEJUG. Para sair da lista de discussão, envie um email para cejug+unsubscribe@googlegroups.com.

---
Você recebeu essa mensagem porque está inscrito no grupo "CEJUG" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cejug+unsubscribe@googlegroups.com.

Jocélio Lima

unread,
Aug 4, 2016, 3:03:22 PM8/4/16
to ce...@googlegroups.com
Cara tenta colocar no sequenceName do @SequenceGenerator schema_name.sequence_name

Sent from my iPhone
--
-- Você está inscrito na lista de discussão técnica do CEJUG. Para sair da lista de discussão, envie um email para cejug+un...@googlegroups.com.

---
Você recebeu essa mensagem porque está inscrito no grupo "CEJUG" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cejug+un...@googlegroups.com.

Carlos Diego

unread,
Aug 4, 2016, 3:14:21 PM8/4/16
to ce...@googlegroups.com
Deu certo Jocélio.

Obrigado!!!

Att,

Carlos Diêgo
Analista de TI 


--
-- Você está inscrito na lista de discussão técnica do CEJUG. Para sair da lista de discussão, envie um email para cejug+unsubscribe@googlegroups.com.

---
Você recebeu essa mensagem porque está inscrito no grupo "CEJUG" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cejug+unsubscribe@googlegroups.com.

Para postar nesse grupo, envie um e-mail para ce...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/cejug.
Para mais opções, acesse https://groups.google.com/d/optout.

--
-- Você está inscrito na lista de discussão técnica do CEJUG. Para sair da lista de discussão, envie um email para cejug+unsubscribe@googlegroups.com.

---
Você recebeu essa mensagem porque está inscrito no grupo "CEJUG" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cejug+unsubscribe@googlegroups.com.

Romário Teles

unread,
Aug 5, 2016, 6:55:50 AM8/5/16
to ce...@googlegroups.com
Bom dia, uma vez eu precisei fazer isso. Apenas retirei o mapeamento do schema do persistence.xml.
Reply all
Reply to author
Forward
0 new messages