Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm
ASUS e HIFIMAN uniscono le forze per creare ROG Kithara, cuffie gaming con driver magnetici planari da 100mm, design open-back e microfono MEMS full-band. Una proposta che ambisce a coniugare fedeltà per audiofili e performance ludiche, disponibili a 319 euro
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-05-2009, 12:02   #1
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
[NHibernate - .NET 2.0]Dubbi per le relazioni

Ciao a tutti

Ho queste entità:

Codice:
public class Dipendente
{

     private int id_dipendente;
     private string cognome;
     private string nome;

     //public bla getter e setter
}

public class DipendenteContratto
{

     private int id_contratto;
     private int id_dipendente;
     private DateTime assunzione;
     private double paga;

     //public bla getter e setter
}

public class TipoContratto
{

     private int id_contratto;
     private string descrizione;

     //public bla getter e setter
}
Il mio dubbio è sull'entità dipendenteContratto per quanto riguarda la mappatura con nhibernate dato che deve relazionarsi a due tabelle.

Come tipo di relazione ho individuato uno ad uno perchè un dipendente non
può avere più contratti ma soltanto uno.

Il primo dubbio è:

Nello schema xml dell'entità Dipendente, devo comunque mettere una relazione a DipendenteContratto o soltanto in quest'ultima ?

Come si esprimono tali relazioni negli schemi xml di hibernate?

I miei schemi sono i seguenti:

Codice PHP:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
  <class name="Dipendente, TestNhibernate" table="Dipendente">
    <id name="ID_Dipendente" column="id_dipendente" type="Int32" unsaved-value="0">
      <generator class="assigned"></generator>
    </id>
    <property name="Cognome" column="cognome" type="String"</property>
    <property name="Nome" column="nome" type="String"</property>
  </class>
Codice PHP:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
  <class name="DipendenteContratto, TestNhibernate" table="DipendenteContratto">
   <id name="ID_Contratto" column="id_contratto" type="Int32" unsaved-value="0">
     <generator class="assigned"></generator>
   </id>
   <property name="Assunzione" column="assunzione" type="DateTime"></property>

    //qui dovrei mettere le relazioni....

Grazie mille a tutti

RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2009, 13:01   #2
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
piccolo passo in avanti per le relazioni:

Codice:
<set name="ID_Dipendente" cascade="all" lazy="true">
      <key column="id_dipendente" ></key>
      <many-to-one class="Dipendente, TestNhibernate"/>
Il che ho provato che mi è utile per farmi restituire i records ma non ho minimamente capito a cosa serva per una procedura di inserimento per esempio.

Cioè, se inserisco un contratto nuovo, mi aspetto che mi inserisca automaticamente l'id del dipendente nella tabella dipendenteContratto...

Se devo invece ricavarmi prima l'id del dipendente dopo averlo inserito e poi usare quel valore per la tabella dipendenteContratto, a cosa serve?
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2009, 17:28   #3
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Ho risolto seguendo la guida ufficiale di hibernate in questo modo:

Codice:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
  <class name="NomeClasse" table="tabella1">
    <id name="Id" column="id">
      <generator class="identity"></generator>
    </id>
   <property name="blabla"/>
   //i vari campi della prima tabella

   <join table="tabella2">
     <key column="relativeId"></key>
     <property name="blablbalb"/>
   //i vari campi della seconda tabella
E.. senza alcuno sbattimento si preoccupa di insert, update e blablabla
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm ASUS ROG Kithara: quando HIFIMAN incontra il gam...
Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Il telescopio spaziale James Webb ha oss...
Mike Fincke era l'astronauta di Crew-11 ...
WhatsApp colma una sua lacuna: stanno pe...
Panasonic LUMIX DMW-DMS1: il nuovo micro...
Samsung preferisce vendere ad altri le s...
OpenAI vince contro xAI (per ora): l'azi...
Electronic Arts domina la classifica dei...
Micron annuncia le GDDR7 da 3 GB fino a ...
Tempi di intrusione ulteriormente ridott...
Smartwatch: il mercato cresce, Apple si ...
Stellaris sarà la prima centrale ...
HUAWEI Band 11 e 11 Pro ufficiali: le no...
Assetto Corsa Rally si aggiorna con Mont...
Roborock Saros 20 Set a 1.289€ invece di...
Recensione HUAWEI FreeBuds Pro 5: ANC e ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:13.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v