Bonjour,

et bien j'ai trois tables

mysql 5 innoDb netbeans 6.5
----- DATABASE STRUCTURE --------------
une table Pays champ Id integer unsigned clef primaire et auto increment
champ Pays String
une table Cpville champ Id integer unsigned clef primaire et auto increment
champ ville String
champ cp String
pays idpays integer unsigned clef etranger avec l'id de la table pays

une table adresse champ id integer usigned clef primaire et auto increment
champ idville integer usigned clef etrangere liée a la table ville
-----------------
dans mon netbeans je paviens a faire des inserts correcte dans de simple table avec des dates des strings .... via un main ou via une page Jsf

Netbeans m'a configurer mes entity beans avec "entity beans from database"
mais je pense que je m'y prend mal pour rendre persistant mes données dans la database.

voici ma la ou je pense que j'ai un probleme

-----------------------------

EntityManagerFactory emf = Persistence.createEntityManagerFactory("Contactsmanager-ejbPU");
EntityManager em = emf.createEntityManager();
Pays p = new Pays();
p.setPays("Belgique");
Cpville cpv = new Cpville();

cpv.setCp("7800");
cpv.setPays(p);
cpv.setVille("ATH");
Adresse adr = new Adresse();
adr.setAdresse("178 CHAUSSEE DE Mons");
adr.setCpville(cpv);
adr.setPays(p);
em.getTransaction().begin();
em.persist(adr);
em.getTransaction().commit();
em.close(); <--- ligne 108
emf.close();

--------- Log de Netbeans

NFO: indexes: [primary]
10 janv. 2009 10:24:59 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: schema update complete
Exception in thread "main" javax.persistence.PersistenceException: org.hibernate.PropertyValueException: not-null property references a null or transient value: Persitences.Adresse.pays1
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:637)
at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:226)
at Persitences.NewMain.main(NewMain.java:108)
Caused by: org.hibernate.PropertyValueException: not-null property references a null or transient value: Persitences.Adresse.pays1
at org.hibernate.engine.Nullability.checkNullability(Nullability.java:72)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:290)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107)
at org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49)
at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:131)
at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:87)
at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:618)

je vous remercie d'avance pour m'éclairer