Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [JAVA] Hibernate - Foreign Key

    Buongiorno,

    uso per la prima volta Hybernate!

    Una mia classe di modello è così composta.

    codice:
    public class Persona {
    
    private String id;
    private String nome;
    private String cognome;
    private ArrayList <Amico> listaAmici;
    
    ....
    }
    
    public class Amico {
    
    private String nome;
    private String cognome;
    
    ....
    }
    }
    setter e getter e bla bla bla...

    A livello di DB, ho 2 tabelle, 'persone' e 'amici'.

    Una 'Persona' può avere N 'Amico': le due tabelle sono legate da un vincolo di fk.

    Quando salvo un oggetto di tipo Persona nel db, vorrei che la lista di amici inclusa nell'arraylist venisse salvata come N righe nella tabella 'amici'.

    Ho iniziato l'XML così:

    <?xml version=”1.0″?>
    <hibernate-mapping>
    <class name=”it.html.hibernate.Persona” table=”persone”>
    <id name=”id” column=”id”>
    <generator class=”native”/>
    </id>
    <property name=”cognome”/>
    <property name=”nome”/>
    </class>
    </hibernate-mapping>

    Come posso fargli capire il resto? Immagino debba fare anche un XML per la classe Amico, qualcosa del genere:

    <?xml version=”1.0″?>
    <hibernate-mapping>
    <class name=”it.html.hibernate.Persona” table=”amici”>
    <property name=”cognome”/>
    <property name=”nome”/>
    </class>
    </hibernate-mapping>

    Ma come continuo?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Devi definire la relazione Many-To-One.
    Vedi la documentazione di Hibernate in merito... in particolare il paragrafo sulla relazione Many-To-One.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.