(hibernate) one-to-one?

3 respostas
V

Alguem pode esclarecer o que seriam esses relacionamentos one-to-one, many-to-one e os demais do hibernate dando exemplos?

3 Respostas

A

Estes relacionamentos servem parar fazer associação entre classes com hibermate a nivel de mapeamento ORM.

Alguns exemplos seria

um relacionamento many-to-one é como se fosse um relacionamento muitos para um no modelo relacional, ou seja: Notas->Aluno, existe varias notas para um aluno. o relacionamento one-to-many seria olhando do lado Aluno->notas um aluno tem varias notas. Quanto ao relacionamento one-to-one pode ser representado com um complemento de uma tabela relacional.

Estes relacionamentos são utilizados para que o hibernate saiba fazer as ligações entre as tabelas, com os inner join por exemplo

Tomará que tenha ajudado

Você pode obter mais informações na documentação do próprio hibernate

Até

V

Legal andre, entendi a ideia, mas nao consegui implementar.
Se eu tenho uma tabela alunos, que tem chave primaria id_aluno e a tabela notas.

O mapeamento de alunos fica normal tipo assim:

<class name="aluno" > <id name="id_aluno" type="java.lang.Long"> <generator class="sequence"/> </generator> </id> <property name="Nome" not-null="true" type="java.lang.String"/> <property name="Serie" type="java.lang.String"/> <property name="Apelido" type="java.lang.String"/> </class>

e o mapeamento da tabela notas algo assim:

<class name="notas" >
    <id name="id_notas" type="java.lang.Long">
     <generator class="sequence"></generator>
    </id>
    <property name="materia" not-null="true" type="java.lang.String"/>
    <property name="professor" not-null="true" type="java.lang.String"/>
    <property name="nota" not-null="true" type="java.lang.Long"/>
    <set name="properties" lazy="true" inverse="true" cascade="all-delete-orphan">
        <key column="id_aluno" />
        <one-to-many class="aluno" />
</set>
</class>

E as classes com os getters e setters? Os dois deveriam ter o id_aluno? Pq quando eu fizer um select que me retorna campo das duas tabelas?

A

Desculpe a longa demora, é que estive viajando e não consegui mais responderr no forum…

Você deve ter na classe nota um atributo do tipo Aluno

Aluno aluno;

Não precisa ter o código do aluno.

E o set e get dele

Criado 9 de junho de 2005
Ultima resposta 23 de jun. de 2005
Respostas 3
Participantes 2