[Logo] Neo Framework Forum
  [Search] Busca   [Recent Topics] Tópicos Recentes   [Members]  Lista de Usuários   [Groups] De volta para a página principal 
[Register] Registrar / 
[Login] Entrar 
Herança  XML
Índice dos Fóruns -> Dúvidas
Autor Mensagem
rodrigo.duarte
Equipe

Membro desde: 21/06/2007 13:23:02
Mensagens: 5
Offline

Como que faço para utilizar herança nos meus beans? Por exemplo, tenho uma classe pessoa e uma outra, funcionário que extends pessoa. O Neo dá suporte a isso?
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

Sim é possível utilizar Herança. Você terá que colocar algumas anotações extras nos seus beans (entidades).

Existem 3 formas de herança, providos pelo Hibernate.

Verifique a documentação do Hibernate Annotations para saber qual é a forma mais indicada para a sua situação.

Eu recomendo a utilização do método Joined Subclasses é mais simples e possui menos complicações. Para esse tipo de herança você deve anotar a classe pai de todas na hierarquia com

@Inheritance(strategy=InheritanceType.JOINED)

Nesse caso o primary key da tabela filha é um foreign key para a tabela pai
Rafael.Odon
Equipe

Membro desde: 14/01/2008 11:37:24
Mensagens: 1
Offline

Um lembrete...

Precisei mapear uma herança usando Joined Subclasses onde a tabela filha não possuia a FK com o mesmo nome da PK da tabela mae. Para tanto, é necessário colocar a seguinte anotação na subclasse:
//SUPER CLASSE
@Inheritance(strategy=InheritanceType.JOINED)
public class Pessoa() {...}

//SUBCLASSE
@PrimaryKeyJoinColumn(name="cdusuario")
public class Usuario() extends Pessoa {...}

Desta forma, no momento do JOIN o hibernate irá juntar cdusuario com cdpessoa. Não foi neessário declarar o field cdusuario na classe Usuario.

Se a subclasse possuir uma FK com o nome da PK da tabela mae, o hibernate faz o join direto.

Até+
[MSN]
 
Índice dos Fóruns -> Dúvidas
Ir para:   
Powered by JForum 2.1.7 © JForum Team