| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/06/2011 15:42:25
|
papotti
What is classpath?
Membro desde: 01/08/2008 13:27:35
Mensagens: 9
Offline
|
Boa tarde pessoal,
Estou com um problema para gerar o banco de dados de uma aplicação que estou fazendo usando JPA.
No meu exemplo eu tenho 3 classes: Pessoa, Professor e Disciplina. Professor herda de Pessoa e Disciplina está associado com professor em um relacionamento ManyToOne (Cada disciplina possui 1 único professor e um professor pode estar associado com N disciplinas)
Segue o código das classes usando as annotations do JPA.
Pessoa.java
Professor.java
Disciplina.java
Meu objetivo é que através da API JPA o banco de dados seja gerado corretamente. Porém, quando eu mando gerar o banco de dados, na tabela disciplina é criada uma chave estrangeira PROFESSOR_ID apontando para o campo CPF da tabela Pessoa, mas na verdade, deveria apontar para o campo CPF da tabela Professor (que herda de pessoa)
Alguém sabe se estou fazendo algo errado ou se existe um jeito de eu conseguir fazer eu referenciar a tabela professor ao invés da tabela pessoa nessa geração?
Ps: Estou usando Eclipse com EclipseLink 2.1 (JPA2)
Obrigado desde já...
This message was edited 1 time. Last update was at 16/06/2011 10:31:24
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/06/2011 19:26:19
|
Kanin Dragon
Virtual Machine Man
![[Avatar]](/images/avatar/74f303673bc7765b1bd3fea078d185b5.jpg)
Membro desde: 01/02/2011 12:46:04
Mensagens: 682
Localização: Depende
Offline
|
Jovem,
Você está gerando as ORM através do hibernate tools?
Para facilitar o entendimento post o DER do banco de dados ou os scripts de criação de tabela.
Abs,
This message was edited 1 time. Last update was at 14/06/2011 19:26:36
|
http://www.guj.com.br/java/244602-calunia-desabafo
Dragão Torpente
Shidoshi Ninjutsu
Engenharia Eletrônica - ITA
Mestrado Engenharia Eletrica - UFRJ
Futuramente Doutorado - Harvard
SCJP 5
SCWCD 5
SCJD
SCBCD
SCDJWS
SCEA
Não respondo dúvidas via MP. Não seja egoista e abra um tópico.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/06/2011 19:57:27
|
papotti
What is classpath?
Membro desde: 01/08/2008 13:27:35
Mensagens: 9
Offline
|
oi amigo,
na verdade, não sei se vc entendeu... mas não estou partindo do banco de dados para gerar as entidades.
O que eu quero, na verdade, é fazer o contrário: a partir das entidades que eu escrevi eu desejo gerar as tabelas do banco de dados.
desta forma eu não tenho der ou scripts do banco, uma vez que é isso que eu desejo que a aplicação gere pra mim...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/06/2011 08:47:47
|
papotti
What is classpath?
Membro desde: 01/08/2008 13:27:35
Mensagens: 9
Offline
|
Pesquisando melhor mais pessoas tiveram o mesmo erro em:
http://java.net/jira/browse/GLASSFISH-2983
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1015
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2898
Alguém já viu esse erro? existe alguma maneira de contornar?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/06/2011 10:27:51
|
papotti
What is classpath?
Membro desde: 01/08/2008 13:27:35
Mensagens: 9
Offline
|
E ae pessoal,
Descobri o problema.
Apenas o JPA do HIBERNATE consegue fazer esse tipo de mapeamento corretamente.
Testei usando o EclipseLink, TopLink e Hibernate com o mesmo código no Netbeans 7... o hibernate foi o único que mapeou corretamente
Fica a dica para todos... prefiram sempre usar o hibernate...
|
|
|
 |
|
|
|
|