Domanda

Supponiamo che io abbia una classe " Utente " ;, e che " abbia " una proprietà di tipo "Profilo". Come posso configurare i miei mapping per generare lo schema e creare entrambe le tabelle nel database?

È stato utile?

Soluzione

<many-to-one/>

Altri suggerimenti

A parte questo, se non sei un grande fan dello scripting su mappe ibernate (cosa che io non sono), allora hai un paio di altre opzioni.

Castle ActiveRecord è un'alternativa: è uno strato sopra NHibernate che ( tra le altre cose) ti consente di dichiarare le tue relazioni usando gli attributi delle tue classi e proprietà.

E Fluent NHibernate è un altro: ti consente di impostare a livello di programmazione le tue lezioni e relazioni.

Entrambi sono un grande miglioramento rispetto alla scrittura manuale del tuo xml di mappatura!

Se stai chiedendo informazioni sul mapping, puoi utilizzare il join come mostrato di seguito. nota: ovviamente devi aggiungere alcuni attributi aggiuntivi per soddisfare la tua app.

   <?xml version="1.0" encoding="utf-8" ?>
   <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"    namespace="MyNamespace" assembly="MyAssembly"    default-lazy="true">  
   <class name="User" table="User">    
   <id name="Id" column="user_id" unsaved-value="0">      
   <generator class="native" />    
   </id>    
   <property name="Profile" column="profile" />  
   </class>
   </hibernate-mapping>

   <?xml version="1.0" encoding="utf-8" ?>
   <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"    namespace="MyNamespace" assembly="MyAssembly"    default-lazy="true">  
   <class name="Profile" table="Profile">    
   <id name="Id" column="profile_id" unsaved-value="0">      
   <generator class="native" />    
   </id>    
   <property name="Profile" column="profile" />    
   </class>
   </hibernate-mapping>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top