Salve,
sto seguendo un tutorial su Hibernate Association da questo indirizzo:
http://www.neeraj.name/43/hibernate-...e-scene-action
Provo a fare il programma di esempio. Non ricevo errori, ma non mi scrive niente nel DB![]()
Le classi sono:
Parent.java
Child.javaCodice PHP:public class Parent {
private long id;
private Set Children;
public Set getChildren() {return Children;}
public void setChildren(Set children) { Children = children;}
public long getId() {return id; }
public void setId(long id) {this.id = id;}
}
I file di mappaggio sono:Codice PHP:public class Child {
private long id;
private String firstName;
private String lastName;
public String getFirstName() {return firstName; }
public void setFirstName(String firstName) {this.firstName = firstName; }
public long getId() {return id; }
public void setId(long id) {this.id = id;}
public String getLastName() {return lastName;}
public void setLastName(String lastName) {this.lastName = lastName;}
}
Parent.hbm.xml
Child.hbm.xmlCodice PHP:<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate -mapping>
<class name="com.neeraj.Parent" table="parent">
<id name="id" type="long" column="pid">
<generator class="native" />
</id>
<set name="children" inverse="false" cascade="none">
<key column="pid" />
<one -to-many class="com.neeraj.Child" />
</set>
</class>
</hibernate-mapping>
Ovviamente ho creato le tabelle corrispondenti e il file di configurazione (su quest'ultimo ho qualche dubbio e ne riporto un pezzettino):Codice PHP:<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate -mapping>
<class name="com.neeraj.Child" table="child">
<id name="id" type="long" column="cid">
<generator class="native" />
</id>
<property name="firstName" column="firstName" />
<property name="lastName" column="lastName" />
</class>
</hibernate-mapping>
hibernate.cfg.xml
Insomma faccio la classe main con questo codice:Codice PHP:<hibernate-configuration>
<session-factory>
//Parametri di connessione vari
<mapping resource="Parent.hbm.xml"/>
<mapping resource="Child.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Main.java
e mi restuisce questo codice sql:Codice PHP:...
Parent parent = new Parent();
Child child = new Child();
child.setFirstName("John");
child.setLastName("Smith");
Set children = new HashSet();
children.add(child);
parent.setChildren(children);
session.saveOrUpdate(child);
session.saveOrUpdate(parent);
...
...in altre parole non mi scrive niente nel DB (anche se crea la foreign key che io nn avevo creato apposta nel fare le tabelle).Codice PHP:Hibernate: insert into child (firstName, lastName) values (?, ?)
Hibernate: insert into parent values ( )
Hibernate: update child set pid=? where cid=?
Qualche suggerimento?
PS: Probabilmente nn avrò risposta vista la prolissità ma nn sapevo come abbreviare
![]()
Grazie dell'attenzione,
Matteo.

Rispondi quotando
