Colocar nome nas constraints geradas DDL  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
fabiogm
Thread.start()

Membro desde: 25/11/2008 19:39:11
Mensagens: 31
Offline

Pessoal , bom dia
Sou iniciante no hibernate e estou precisando resolver um problema. Como faço para "sobrescrever" aquele nome automatico gerado que a geração de esquema no hibernate gera para as constraints ?

Exemplo do meu problema , usando a estrategia joined de herança:

Classe Pai



Classe Filha



No resultado da operação , aparece assim





thiagoks
Thread.start()

Membro desde: 14/02/2008 20:41:25
Mensagens: 37
Offline

Use a anotação @ForeignKey
fabiogm
Thread.start()

Membro desde: 25/11/2008 19:39:11
Mensagens: 31
Offline

Eu tentei isso, na classe filha. Mas não deu certo. Repara no codigo q eu coloquei em relação a classe filha. Msmo assim obg
thiagoks
Thread.start()

Membro desde: 14/02/2008 20:41:25
Mensagens: 37
Offline

Não prestei atenção no código. Desculpa. Anota a sua classe filha.

fabiogm
Thread.start()

Membro desde: 25/11/2008 19:39:11
Mensagens: 31
Offline



ThiagoKs, obg mais uma vez pela atenção. Ja tentei isso tb. O eclipse "embarrera" logo de cara. Da a seguinte msg de erro:

The annotation @ForeignKey is disallowed for this location




Vlw cara. Vou continuar pesquisando pra ver se acho alguma coisa. Engraçado é os exemplos que encontrei dizem pra fazer o que vc recomendou da 1a vez e eu ja vinha fazendo; Colocar a anotação @ForeingKey name="NomeMinhaConstraint", mas isso simplesmente não funciona.

Msmo assim, valeu a ajuda cara
Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

fabiogm wrote:

ThiagoKs, obg mais uma vez pela atenção. Ja tentei isso tb. O eclipse "embarrera" logo de cara. Da a seguinte msg de erro:

The annotation @ForeignKey is disallowed for this location




Vlw cara. Vou continuar pesquisando pra ver se acho alguma coisa. Engraçado é os exemplos que encontrei dizem pra fazer o que vc recomendou da 1a vez e eu ja vinha fazendo; Colocar a anotação @ForeingKey name="NomeMinhaConstraint", mas isso simplesmente não funciona.

Msmo assim, valeu a ajuda cara


tente no relacionamento e não na calsse

Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
fabiogm
Thread.start()

Membro desde: 25/11/2008 19:39:11
Mensagens: 31
Offline

Ola Lavieri .

Na verdade isso é uma questão de curso. O professor pediu que verificássemos como modificar o nome que o hibernate gera automaticamente para as constraints depois que rodamos o gerador de schemas




Escrevemos as classes (no caso, uma abstrata com os campos comuns e outras duas especificas) e temos que usar a estratégia Joined.

Desculpe a ignorância de newbie no assunto, mas o que voce esta sugerindo é para fazer isso diretamente no banco , não é isso ?

Obg pela atenção.
Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

fabiogm wrote:Ola Lavieri .

Na verdade isso é uma questão de curso. O professor pediu que verificássemos como modificar o nome que o hibernate gera automaticamente para as constraints depois que rodamos o gerador de schemas




Escrevemos as classes (no caso, uma abstrata com os campos comuns e outras duas especificas) e temos que usar a estratégia Joined.

Desculpe a ignorância de newbie no assunto, mas o que voce esta sugerindo é para fazer isso diretamente no banco , não é isso ?

Obg pela atenção.


eu que entendi errado, achei q vc estivesse falando de relacionamentos do tipo 1-N ou N-1 ou 1-1, de composição e não de herença, então estava falando pra anotar na compição...

bom .... vc tem q colocar a anotação da SUBClasse e ela funciona sim


rodei esse teste aqui e funcionou

This message was edited 1 time. Last update was at 19/03/2010 16:20:37


Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
fabiogm
Thread.start()

Membro desde: 25/11/2008 19:39:11
Mensagens: 31
Offline

Tentei aqui, mas o eclipse diz q não é permitido colocar a anotação @ForeingKey antes do nome da classe.

Rodou o seu ai direto ? Ja tinha visto alguns exemplos desse jeito , mas parei nessa do eclipse não permitir a anotação la em cima

Msmo assim vlw
Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

fabiogm wrote:Tentei aqui, mas o eclipse diz q não é permitido colocar a anotação @ForeingKey antes do nome da classe.

Rodou o seu ai direto ? Ja tinha visto alguns exemplos desse jeito , mas parei nessa do eclipse não permitir a anotação la em cima

Msmo assim vlw

rodou

talvez vc esteja importando a notação errada

org.hibernate.annotations.ForeignKey

Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
fabiogm
Thread.start()

Membro desde: 25/11/2008 19:39:11
Mensagens: 31
Offline

Lavieri wrote:
fabiogm wrote:Tentei aqui, mas o eclipse diz q não é permitido colocar a anotação @ForeingKey antes do nome da classe.

Rodou o seu ai direto ? Ja tinha visto alguns exemplos desse jeito , mas parei nessa do eclipse não permitir a anotação la em cima

Msmo assim vlw

rodou

talvez vc esteja importando a notação errada

org.hibernate.annotations.ForeignKey


É essa mesmo que estou usando. É com essa que você testou ?
Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline


sim ... talvez vc esteja com alguma versao antiga, que esteja com problemas

Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team