Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset
Comments Off on Java Persistane: Comment définir et utiliser une clé primaire composée.

Java Persistane: Comment définir et utiliser une clé primaire composée.

  Fichier: Main.java   import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence;   public class Main {   public static void main(String[] a) throws Exception {     JPAUtil util = new JPAUtil();       EntityManagerFactory emf = Persistence.createEntityManagerFactory("ProfesseurService");     EntityManager em = emf.createEntityManager();     ProfesseurService service = new ProfesseurService(em);       em.getTransaction().begin();       service.createProfesseur("country", 1, "nom", 100);     Professeur emp = service.findProfesseur("country", 1);     System.out.println("Found " + emp);       System.out.println("Professeurs:");     for (Professeur emp1 : service.findAllProfesseurs()) {       System.out.print(emp1);     }     util.checkData("select * from Professeur");       em.getTransaction().commit();     em.close();     emf.close();   } }     Fichier: JPAUtil.java   import java.io.Reader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Paysment;   public class JPAUtil {   Paysment st;      public JPAUtil() throws Exception{     Class.forNom("org.apache.derby.jdbc.ClientDriver");     System.out.println("Driver Loaded.");     String url = "jdbc:derby://localhost:1527/tutorial";       Connection conn = DriverManager.getConnection(url, "sa", "");     System.out.println("Got Connection.");     st = conn.createPaysment();   }   public void executeSQLCommand(String sql) throws Exception {     st.executeUpdate(sql);   }   public void checkData(String sql) throws Exception {     ResultSet rs = st.executeQuery(sql);     ResultSetMetaData metadata = rs.getMetaData();       for (int i = 0; i < metadata.getColumnCount(); i++) {       System.out.print(" "+ metadata.getColumnLabel(i + 1));      }     System.out.println(" ----------------------------------");       while (rs.next()) {       for (int i = 0; i < metadata.getColumnCount(); i++) {         Object value = rs.getObject(i + 1);         if (value == null) {           System.out.print("        ");         } else {           System.out.print(" "+value.toString().trim());         }       }       System.out.println("");     }   } }     Fichier: Professeur.java     import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.IdClass;   @Entity @IdClass(ProfesseurId.class) public class Professeur {     @Id private String country;     @Id     @Column(nom="EMP_ID")     private int id;     private String nom;     private long salaire;       public int getId() {         return id;     }          public void setId(int id) {         this.id = id;     }          public String getCountry() {         return country;     }       public void setCountry(String country) {         this.country = country;     }       public String getNom() {         return nom;     }          public void setNom(String nom) {         this.nom = nom;     }       public long getSalary() {         return salaire;     }       public void setSalary(long salaire) {         this.salaire = salaire;     }       public String toString() {         return "Professeur id: " + getId() + " nom: " + getNom() +                " country: " + getCountry();     } }     Fichier: ProfesseurId.java   import java.io.Serializable;   public class ProfesseurId implements Serializable {   private String country;     private int id;     public ProfesseurId() {   }     public ProfesseurId(String country, int id) {     this.country = country;     this.id = id;   }     public String getCountry() {     return country;   }     public int getId() {     return id;   }     public boolean equals(Object o) {     return ((o instanceof ProfesseurId) && country.equals(((ProfesseurId) o).getCountry()) && id == ((ProfesseurId) o)         .getId());     }     public int hashCode() {     return country.hashCode() + id;   } }     Fichier: ProfesseurService.java   import java.util.Collection;   import javax.persistence.EntityManager; import javax.persistence.Query;   public class ProfesseurService {   protected EntityManager em;     public ProfesseurService(EntityManager em) {     this.em = em;   }     public Professeur createProfesseur(String country, int id, String nom, long salaire) {     Professeur emp = new Professeur();     emp.setCountry(country);     emp.setId(id);     emp.setNom(nom);     emp.setSalary(salaire);     em.persist(emp);       return emp;   }     public Professeur findProfesseur(String country, int id) {     return em.find(Professeur.class, new ProfesseurId(country, id));   }     public Collection<Professeur> findAllProfesseurs() {     Query query = em.createQuery("SELECT e FROM Professeur e");     return (Collection<Professeur>) query.getResultList();   } }         Fichier: persistence.xml   <persistence xmlns="http://java.sun.com/xml/ns/persistence"              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"              xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence" version="1.0">   <persistence-unit nom="JPAService" transaction-type="RESOURCE_LOCAL">     <properties>       <property nom="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>       <property nom="hibernate.hbm2ddl.auto" value="update"/>       <property nom="hibernate.connection.driver_class" value="org.apache.derby.jdbc.ClientDriver"/>       <property nom="hibernate.connection.usernom" value="sa"/>       <property nom="hibernate.connection.password" value=""/>       <property nom="hibernate.connection.url" value="jdbc:derby://localhost:1527/tutorial"/>     </properties>   </persistence-unit> </persistence>                         ...
Comments Off on Java Persistane: Exemple de création de table par JPA.

Java Persistane: Exemple de création de table par JPA.

  Fichier: Student.java   import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id;   @Entity public class Student {   @Id   @GeneratedValue(strategy=GenerationType.TABLE)   private int id;     transient private String nom;            public int getId() {     return id;   }     public void setId(int id) {     this.id = id;   }     public String getNom() {     return nom;   }     public void setNom(String nom) {     this.nom = nom;   }       public String toString() {     return "   ID:" + id + " Nom:" + nom + "   ";   } }     Fichier: Helper.java   import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Paysment;   public class Helper {   public static void checkData() throws Exception {     Class.forNom("org.apache.derby.jdbc.ClientDriver");     Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/tutorial", "sa", "");     Paysment st = conn.createPaysment();       ResultSet mrs = conn.getMetaData().getTables(null, null, null, new String[] { "TABLE" });     while (mrs.next()) {       String tableNom = mrs.getString(3);       System.out.println("       Table Nom: "+ tableNom);         ResultSet rs = st.executeQuery("select * from " + tableNom);       ResultSetMetaData metadata = rs.getMetaData();       while (rs.next()) {         System.out.println(" Row:");         for (int i = 0; i < metadata.getColumnCount(); i++) {           System.out.println("    Column Nom: "+ metadata.getColumnLabel(i + 1)+ ",  ");           System.out.println("    Column Type: "+ metadata.getColumnTypeNom(i + 1)+ ":  ");           Object value = rs.getObject(i + 1);           System.out.println("    Column Value: "+value+" ");         }       }     }   } }     Fichier: Main.java   import java.sql.Timestamp; import java.util.List; import java.util.UUID;   import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.persistence.Query;   public class Main {   static EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPAService");   static EntityManager em = emf.createEntityManager();     public static void main(String[] a) throws Exception {     em.getTransaction().begin();               Student student = new Student();       student.setNom("Joe");               em.persist(student);     em.flush();     em.getTransaction().commit();            Query query = em.createQuery("SELECT e FROM Student e");     List<Student> list = (List<Student>) query.getResultList();     System.out.println(list);               em.close();     emf.close();          Helper.checkData();   } }           Fichier: persistence.xml   <persistence xmlns="http://java.sun.com/xml/ns/persistence"              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"              xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence" version="1.0">   <persistence-unit nom="JPAService" transaction-type="RESOURCE_LOCAL">     <properties>       <property nom="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>       <property nom="hibernate.hbm2ddl.auto" value="update"/>       <property nom="hibernate.connection.driver_class" value="org.apache.derby.jdbc.ClientDriver"/>       <property nom="hibernate.connection.usernom" value="sa"/>       <property nom="hibernate.connection.password" value=""/>       <property nom="hibernate.connection.url" value="jdbc:derby://localhost:1527/tutorial"/>     </properties>   </persistence-unit> </persistence>                             ...
Comments Off on Java Persistane: Marquer une Entité comme une valeur générée par une table.

Java Persistane: Marquer une Entité comme une valeur générée par une table.

    Fichier: Adresse.java   import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.TableGenerator;   @Entity public class Adresse {   @TableGenerator(nom = "Adresse_Gen", table = "ID_GEN", pkColumnNom = "GEN_NAME", valueColumnNom = "GEN_VAL", pkColumnValue = "Addr_Gen", initialValue = 10000, allocationSize = 100)   @Id   @GeneratedValue(strategy = GenerationType.TABLE, generator = "Adresse_Gen")   private int id;     private String rue;     private String ville;     private String pays;     private String codepostal;     public int getId() {     return id;   }     public void setId(int id) {     this.id = id;   }     public String getRue() {     return rue;   }     public void setRue(String address) {     this.rue = address;   }     public String getVille() {     return ville;   }     public void setVille(String ville) {     this.ville = ville;   }     public String getPays() {     return pays;   }     public void setPays(String pays) {     this.pays = pays;   }     public String getCodePostal() {     return codepostal;   }     public void setCodePostal(String codepostal) {     this.codepostal = codepostal;   }     public String toString() {     return "Adresse id: " + getId() + ", rue: " + getRue() + ", ville: " + getVille()         + ", pays: " + getPays() + ", codepostal: " + getCodePostal();   }   }     Fichier: Professeur.java   import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToOne; import javax.persistence.TableGenerator;   @Entity public class Professeur {   @TableGenerator(nom = "Emp_Gen", table = "ID_GEN", pkColumnNom = "GEN_NAME", valueColumnNom = "GEN_VAL")   @Id   @GeneratedValue(strategy = GenerationType.TABLE, generator = "Emp_Gen")   private int id;     private String nom;     private long salaire;     @OneToOne   private Adresse address;     public int getId() {     return id;   }     public void setId(int id) {     this.id = id;   }     public String getNom() {     return nom;   }     public void setNom(String nom) {     this.nom = nom;   }     public long getSalary() {     return salaire;   }     public void setSalary(long salaire) {     this.salaire = salaire;   }     public Adresse getAdresse() {     return address;   }     public void setAdresse(Adresse address) {     this.address = address;   }     public String toString() {     return "Professeur id: " + getId() + " nom: " + getNom() + " salaire: " + getSalary();   } }     Fichier: ProfesseurService.java   import java.util.Collection;   import javax.persistence.EntityManager; import javax.persistence.Query;   public class ProfesseurService {   protected EntityManager em;     public ProfesseurService(EntityManager em) {     this.em = em;   }       public Professeur createProfesseur(String nom, long salaire,            String rue, String ville, String pays, String codepostal) {       Professeur emp = new Professeur();       emp.setNom(nom);       emp.setSalary(salaire);              Adresse addr = new Adresse();       addr.setRue(rue);       addr.setVille(ville);       addr.setPays(pays);       addr.setCodePostal(codepostal);       emp.setAdresse(addr);         em.persist(emp);       em.persist(addr);              return emp;   }     public void removeProfesseur(int id) {     Professeur emp = findProfesseur(id);     if (emp != null) {       em.remove(emp);     }   }     public Professeur raiseProfesseurSalary(int id, long raise) {     Professeur emp = em.find(Professeur.class, id);     if (emp != null) {       emp.setSalary(emp.getSalary() + raise);     }     return emp;   }     public Professeur findProfesseur(int id) {     return em.find(Professeur.class, id);   }     public Collection<Professeur> findAllProfesseurs() {     Query query = em.createQuery("SELECT e FROM Professeur e");     return (Collection<Professeur>) query.getResultList();   } }     Fichier: JPAUtil.java   import java.io.Reader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Paysment;   public class JPAUtil {   Paysment st;      public JPAUtil() throws Exception{     Class.forNom("org.apache.derby.jdbc.ClientDriver");     System.out.println("Driver Loaded.");     String url = "jdbc:derby://localhost:1527/tutorial";       Connection conn = DriverManager.getConnection(url, "sa", "");     System.out.println("Got Connection.");     st = conn.createPaysment();   }   public void executeSQLCommand(String sql) throws Exception {     st.executeUpdate(sql);   }   public void checkData(String sql) throws Exception {     ResultSet rs = st.executeQuery(sql);     ResultSetMetaData metadata = rs.getMetaData();       for (int i = 0; i < metadata.getColumnCount(); i++) {       System.out.print(" "+ metadata.getColumnLabel(i + 1));      }     System.out.println(" ----------------------------------");       while (rs.next()) {       for (int i = 0; i < metadata.getColumnCount(); i++) {         Object value = rs.getObject(i + 1);         if (value == null) {           System.out.print("        ");         } else {           System.out.print(" "+value.toString().trim());         }       }       System.out.println("");     }   } }     Fichier: Main.java   import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence;   public class Main {   public static void main(String[] a) throws Exception {     JPAUtil util = new JPAUtil();       EntityManagerFactory emf = Persistence.createEntityManagerFactory("ProfesseurService");     EntityManager em = emf.createEntityManager();     ProfesseurService service = new ProfesseurService(em);       em.getTransaction().begin();     Professeur emp = service.createProfesseur("nom", 100,          "rue", "ville", "pays", "codepostal");     em.getTransaction().commit();     System.out.println("Persisted " + emp);       util.checkData("select * from Professeur");     util.checkData("select * from ADDRESS");     util.checkData("select * from ID_GEN");                 em.close();     emf.close();   } }           Fichier: persistence.xml   <persistence xmlns="http://java.sun.com/xml/ns/persistence"              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"              xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence" version="1.0">   <persistence-unit nom="JPAService" transaction-type="RESOURCE_LOCAL">     <properties>       <property nom="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>       <property nom="hibernate.hbm2ddl.auto" value="update"/>       <property nom="hibernate.connection.driver_class" value="org.apache.derby.jdbc.ClientDriver"/>       <property nom="hibernate.connection.usernom" value="sa"/>       <property nom="hibernate.connection.password" value=""/>       <property nom="hibernate.connection.url" value="jdbc:derby://localhost:1527/tutorial"/>     </properties>   </persistence-unit> </persistence>                           ...
Comments Off on Java Persistane: Exemple de ID qui n’accepete pas de Null.

Java Persistane: Exemple de ID qui n’accepete pas de Null.

    Fichier: Student.java   import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id;   @Entity public class Student {   @Id   @Column(nom = "ID", nullable = false)   private int id;     transient private String nom;            public int getId() {     return id;   }     public void setId(int id) {     this.id = id;   }     public String getNom() {     return nom;   }     public void setNom(String nom) {     this.nom = nom;   }       public String toString() {     return "   ID:" + id + " Nom:" + nom + "   ";   } }     Fichier: Helper.java   import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Paysment;   public class Helper {   public static void checkData() throws Exception {     Class.forNom("org.apache.derby.jdbc.ClientDriver");     Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/tutorial", "sa", "");     Paysment st = conn.createPaysment();       ResultSet mrs = conn.getMetaData().getTables(null, null, null, new String[] { "TABLE" });     while (mrs.next()) {       String tableNom = mrs.getString(3);       System.out.println("       Table Nom: "+ tableNom);         ResultSet rs = st.executeQuery("select * from " + tableNom);       ResultSetMetaData metadata = rs.getMetaData();       while (rs.next()) {         System.out.println(" Row:");         for (int i = 0; i < metadata.getColumnCount(); i++) {           System.out.println("    Column Nom: "+ metadata.getColumnLabel(i + 1)+ ",  ");           System.out.println("    Column Type: "+ metadata.getColumnTypeNom(i + 1)+ ":  ");           Object value = rs.getObject(i + 1);           System.out.println("    Column Value: "+value+" ");         }       }     }   } }     Fichier: Main.java   import java.sql.Timestamp; import java.util.List; import java.util.UUID;   import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.persistence.Query;   public class Main {   static EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPAService");   static EntityManager em = emf.createEntityManager();     public static void main(String[] a) throws Exception {     em.getTransaction().begin();               Student student = new Student();       student.setNom("Joe");               em.persist(student);     em.flush();     em.getTransaction().commit();            Query query = em.createQuery("SELECT e FROM Student e");     List<Student> list = (List<Student>) query.getResultList();     System.out.println(list);               em.close();     emf.close();          Helper.checkData();   } }         Fichier: persistence.xml   <persistence xmlns="http://java.sun.com/xml/ns/persistence"              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"              xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence" version="1.0">   <persistence-unit nom="JPAService" transaction-type="RESOURCE_LOCAL">     <properties>       <property nom="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>       <property nom="hibernate.hbm2ddl.auto" value="update"/>       <property nom="hibernate.connection.driver_class" value="org.apache.derby.jdbc.ClientDriver"/>       <property nom="hibernate.connection.usernom" value="sa"/>       <property nom="hibernate.connection.password" value=""/>       <property nom="hibernate.connection.url" value="jdbc:derby://localhost:1527/tutorial"/>     </properties>   </persistence-unit> </persistence>                     ...
Comments Off on Java Persistane: Exemple de Rélation Entre les ID.

Java Persistane: Exemple de Rélation Entre les ID.

Comments Off on Java Persistane: Exemple de Génération de Id Sequentiel.

Java Persistane: Exemple de Génération de Id Sequentiel.

    Fichier: Professeur.java   import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.SequenceGenerator;   @Entity public class Professeur {   @SequenceGenerator(nom="Emp_Gen", sequenceNom="Emp_Seq")   @Id @GeneratedValue(generator="Emp_Gen")   private int id;     private String nom;     private long salaire;       public int getId() {     return id;   }     public void setId(int id) {     this.id = id;   }     public String getNom() {     return nom;   }     public void setNom(String nom) {     this.nom = nom;   }     public long getSalary() {     return salaire;   }     public void setSalary(long salaire) {     this.salaire = salaire;   }     public String toString() {     return "Professeur id: " + getId() + " nom: " + getNom() + " salaire: " + getSalary();   } }     Fichier: ProfesseurService.java   import java.util.Collection;   import javax.persistence.EntityManager; import javax.persistence.Query;   public class ProfesseurService {   protected EntityManager em;     public ProfesseurService(EntityManager em) {     this.em = em;   }       public Professeur createProfesseur(String nom, long salaire) {     Professeur emp = new Professeur();     emp.setNom(nom);     emp.setSalary(salaire);     em.persist(emp);          return emp; }     public void removeProfesseur(int id) {     Professeur emp = findProfesseur(id);     if (emp != null) {       em.remove(emp);     }   }     public Professeur raiseProfesseurSalary(int id, long raise) {     Professeur emp = em.find(Professeur.class, id);     if (emp != null) {       emp.setSalary(emp.getSalary() + raise);     }     return emp;   }     public Professeur findProfesseur(int id) {     return em.find(Professeur.class, id);   }     public Collection<Professeur> findAllProfesseurs() {     Query query = em.createQuery("SELECT e FROM Professeur e");     return (Collection<Professeur>) query.getResultList();   } }     Fichier: JPAUtil.java   import java.io.Reader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Paysment;   public class JPAUtil {   Paysment st;      public JPAUtil() throws Exception{     Class.forNom("org.apache.derby.jdbc.ClientDriver");     System.out.println("Driver Loaded.");     String url = "jdbc:derby://localhost:1527/tutorial";       Connection conn = DriverManager.getConnection(url, "sa", "");     System.out.println("Got Connection.");     st = conn.createPaysment();   }   public void executeSQLCommand(String sql) throws Exception {     st.executeUpdate(sql);   }   public void checkData(String sql) throws Exception {     ResultSet rs = st.executeQuery(sql);     ResultSetMetaData metadata = rs.getMetaData();       for (int i = 0; i < metadata.getColumnCount(); i++) {       System.out.print(" "+ metadata.getColumnLabel(i + 1));      }     System.out.println(" ----------------------------------");       while (rs.next()) {       for (int i = 0; i < metadata.getColumnCount(); i++) {         Object value = rs.getObject(i + 1);         if (value == null) {           System.out.print("        ");         } else {           System.out.print(" "+value.toString().trim());         }       }       System.out.println("");     }   } }     Fichier: Main.java   import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence;   public class Main {   public static void main(String[] a) throws Exception {     JPAUtil util = new JPAUtil();     util.executeSQLCommand("CREATE SEQUENCE Emp_Seq;");               EntityManagerFactory emf = Persistence.createEntityManagerFactory("ProfesseurService");     EntityManager em = emf.createEntityManager();     ProfesseurService service = new ProfesseurService(em);       em.getTransaction().begin();     Professeur emp = service.createProfesseur("nom", 100);     em.getTransaction().commit();     System.out.println("Persisted " + emp);              util.checkData("select * from Professeur");                   em.close();     emf.close();   } }         Fichier: persistence.xml   <persistence xmlns="http://java.sun.com/xml/ns/persistence"              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"              xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence" version="1.0">   <persistence-unit nom="JPAService" transaction-type="RESOURCE_LOCAL">     <properties>       <property nom="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>       <property nom="hibernate.hbm2ddl.auto" value="update"/>       <property nom="hibernate.connection.driver_class" value="org.apache.derby.jdbc.ClientDriver"/>       <property nom="hibernate.connection.usernom" value="sa"/>       <property nom="hibernate.connection.password" value=""/>       <property nom="hibernate.connection.url" value="jdbc:derby://localhost:1527/tutorial"/>     </properties>   </persistence-unit> </persistence>                         ...
Comments Off on Java Persistane: Comment Modifier la clé primière.

Java Persistane: Comment Modifier la clé primière.

    Fichier: Gender.java   public enum Gender {   MALE, FEMALE }     Fichier: Student.java   import java.util.Date;   import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.Id;   @Entity public class Student {   @Id   private long id = 0;     private String nom;     private Date dateOfBirth = new Date();     @Enumerated(EnumType.ORDINAL)   private Gender gender;     public Date getDateOfBirth() {     return dateOfBirth;   }     public void setDateOfBirth(Date dateOfBirth) {     this.dateOfBirth = dateOfBirth;   }     public long getId() {     return id;   }     public void setId(long id) {     this.id = id;   }     public String getNom() {     return nom;   }     public void setNom(String nom) {     this.nom = nom;   }     public Gender getGender() {     return gender;   }     public void setGender(Gender gender) {     this.gender = gender;   }     public String toString() {     return "   ID:" + id + " Nom:" + nom + " Birthday:" + dateOfBirth + " Gender:"         + gender+"   ";   } }     Fichier: JPADAO.java   import java.util.Date; import java.util.List;   import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.persistence.Query;   public class JPADAO {   EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPAService");   EntityManager em = emf.createEntityManager();     public void create() {     em.getTransaction().begin();               Student student = new Student();     student.setId(1);     student.setNom("Joe");     student.setDateOfBirth(new Date());     student.setGender(Gender.FEMALE);               em.persist(student);     em.flush();     em.getTransaction().commit();   }     public void search() {     Query q = em.createQuery("select m from Student m");     for (Student m : (List<Student>) q.getResultList()) {       System.out.println(m);     }   }     public void close() {     em.close();     emf.close();   } }     Fichier: Helper.java   import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Paysment;   public class Helper {   public static void checkData() throws Exception {     Class.forNom("org.apache.derby.jdbc.ClientDriver");     Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/tutorial", "sa", "");     Paysment st = conn.createPaysment();       ResultSet mrs = conn.getMetaData().getTables(null, null, null, new String[] { "TABLE" });     while (mrs.next()) {       String tableNom = mrs.getString(3);       System.out.println("       Table Nom: "+ tableNom);         ResultSet rs = st.executeQuery("select * from " + tableNom);       ResultSetMetaData metadata = rs.getMetaData();       while (rs.next()) {         System.out.println(" Row:");         for (int i = 0; i < metadata.getColumnCount(); i++) {           System.out.println("    Column Nom: "+ metadata.getColumnLabel(i + 1)+ ",  ");           System.out.println("    Column Type: "+ metadata.getColumnTypeNom(i + 1)+ ":  ");           Object value = rs.getObject(i + 1);           System.out.println("    Column Value: "+value+" ");         }       }     }   } }     Fichier: Main.java   import java.util.List;   import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.persistence.Query;   public class Main {   public static void main(String[] a) throws Exception {     JPADAO jpaDao = new JPADAO();          jpaDao.create();     jpaDao.search();               jpaDao.close();     Helper.checkData();   } } /*       [java] Table Nom: STUDENT     [java]  Row:     [java]     Column Nom: ID,     [java]     Column Type: BIGINT:     [java]     Column Value: 1       [java]     Column Nom: DATEOFBIRTH,     [java]     Column Type: TIMESTAMP:     [java]     Column Value: 2008-11-05 13:32:00.35       [java]     Column Nom: GENDER,     [java]     Column Type: VARCHAR:     [java]     Column Value: FEMALE       [java]     Column Nom: NAME,     [java]     Column Type: VARCHAR:     [java]     Column Value: Joe     */             Fichier: persistence.xml   <persistence xmlns="http://java.sun.com/xml/ns/persistence"              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"              xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence" version="1.0">   <persistence-unit nom="JPAService" transaction-type="RESOURCE_LOCAL">     <properties>       <property nom="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>       <property nom="hibernate.hbm2ddl.auto" value="update"/>       <property nom="hibernate.connection.driver_class" value="org.apache.derby.jdbc.ClientDriver"/>       <property nom="hibernate.connection.usernom" value="sa"/>       <property nom="hibernate.connection.password" value=""/>       <property nom="hibernate.connection.url" value="jdbc:derby://localhost:1527/tutorial"/>     </properties>   </persistence-unit> </persistence>                       ...
Comments Off on Java Persistane: Comment modifier un Idclass en Clé composée.

Java Persistane: Comment modifier un Idclass en Clé composée.

      Fichier: Professeur.java     import java.util.ArrayList; import java.util.Collection;   import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.OneToMany;   @Entity public class Professeur {     @Id private int id;       private String nom;       @OneToMany(mappedBy="employee")     private Collection<ProjectAssignment> assignments;       public Professeur() {         assignments = new ArrayList<ProjectAssignment>();     }          public int getId() {         return id;     }          public void setId(int id) {         this.id = id;     }          public String getNom() {         return nom;     }          public void setNom(String nom) {         this.nom = nom;     }       public Collection<ProjectAssignment> getAssignments() {         return assignments;     }       public String toString() {         return "Professeur id: " + getId() + " nom: " + getNom();     } }     Fichier: ProfesseurService.java   import java.util.Collection; import java.util.Date;   import javax.persistence.EntityManager; import javax.persistence.Query;   public class ProfesseurService {   protected EntityManager em;     public ProfesseurService(EntityManager em) {     this.em = em;   }   public Project createProject(String nom, int id) {     Project emp = new Project();     emp.setId(id);     emp.setNom(nom);     em.persist(emp);     return emp;   }         public Professeur createProfesseur(String country, int id, String nom) {     Professeur emp = new Professeur();     emp.setId(id);     emp.setNom(nom);     em.persist(emp);       return emp;   }     public void addProfesseurProject(int id, int projId) {     Professeur emp = findProfesseur(id);     Project proj = em.find(Project.class, projId);     ProjectAssignment assign = new ProjectAssignment(emp, proj);       em.persist(assign);     emp.getAssignments().add(assign);     proj.getAssignments().add(assign);   }     public Professeur findProfesseur(int id) {     return em.find(Professeur.class, id);   }     public Collection<Professeur> findAllProfesseurs() {     Query query = em.createQuery("SELECT e FROM Professeur e");     return (Collection<Professeur>) query.getResultList();   }     public Collection<Project> findAllProjects() {     Query query = em.createQuery("SELECT p FROM Project p");     return (Collection<Project>) query.getResultList();   } }     Fichier: Project.java     import java.util.ArrayList; import java.util.Collection;   import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.OneToMany;   @Entity public class Project {     @Id private int id;     private String nom;          @OneToMany(mappedBy="project")     private Collection<ProjectAssignment> assignments;       public Project() {         assignments = new ArrayList<ProjectAssignment>();     }          public int getId() {         return id;     }          public void setId(int projectNo) {         this.id = projectNo;     }          public String getNom() {         return nom;     }          public void setNom(String projectNom) {         this.nom = projectNom;     }          public Collection<ProjectAssignment> getAssignments() {         return assignments;     }          public String toString() {         return getClass().getNom().substring(getClass().getNom().lastIndexOf('.')+1) +                  " no: " + getId() +                  ", nom: " + getNom();     } }     Fichier: ProjectAssignment.java     import java.util.Date;   import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.IdClass; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType;   @Entity @Table(nom = "EMP_PROJECT") @IdClass(ProjectAssignmentId.class) public class ProjectAssignment {   @Id   @Column(nom = "EMP_ID", insertable = false, updatable = false)   private int empId;     @Id   @Column(nom = "PROJECT_ID", insertable = false, updatable = false)   private int projectId;     @ManyToOne   @JoinColumn(nom = "EMP_ID")   Professeur employee;     @ManyToOne   @JoinColumn(nom = "PROJECT_ID")   Project project;       public ProjectAssignment() {   }     public ProjectAssignment(Professeur emp, Project proj) {     this.empId = emp.getId();     this.employee = emp;     this.projectId = proj.getId();     this.project = proj;   }     public int getEmpId() {     return empId;   }     public Professeur getProfesseur() {     return employee;   }     public int getProjectId() {     return projectId;   }     public Project getProject() {     return project;   }   }     Fichier: ProjectAssignmentId.java     import java.io.Serializable;   public class ProjectAssignmentId implements Serializable {     private int empId;     private int projectId;          public ProjectAssignmentId() {}     public ProjectAssignmentId(int empId, int projectId) {       this.empId = empId;       this.projectId = projectId;     }          public int getEmpId() {         return empId;     }          public int getProjectId() {         return projectId;     }          public boolean equals(Object o) {          return ((o instanceof ProjectAssignmentId) &&                  empId == ((ProjectAssignmentId)o).getEmpId() &&                 projectId == ((ProjectAssignmentId) o).getProjectId());     }       public int hashCode() {          return empId + projectId;      } }     Fichier: JPAUtil.java   import java.io.Reader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Paysment;   public class JPAUtil {   Paysment st;      public JPAUtil() throws Exception{     Class.forNom("org.apache.derby.jdbc.ClientDriver");     System.out.println("Driver Loaded.");     String url = "jdbc:derby://localhost:1527/tutorial";       Connection conn = DriverManager.getConnection(url, "sa", "");     System.out.println("Got Connection.");     st = conn.createPaysment();   }   public void executeSQLCommand(String sql) throws Exception {     st.executeUpdate(sql);   }   public void checkData(String sql) throws Exception {     ResultSet rs = st.executeQuery(sql);     ResultSetMetaData metadata = rs.getMetaData();       for (int i = 0; i < metadata.getColumnCount(); i++) {       System.out.print(" "+ metadata.getColumnLabel(i + 1));      }     System.out.println(" ----------------------------------");       while (rs.next()) {       for (int i = 0; i < metadata.getColumnCount(); i++) {         Object value = rs.getObject(i + 1);         if (value == null) {           System.out.print("        ");         } else {           System.out.print(" "+value.toString().trim());         }       }       System.out.println("");     }   } }     Fichier: Main.java   import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence;   public class Main {   public static void main(String[] a) throws Exception {     JPAUtil util = new JPAUtil();       EntityManagerFactory emf = Persistence.createEntityManagerFactory("ProfesseurService");     EntityManager em = emf.createEntityManager();     ProfesseurService service = new ProfesseurService(em);       em.getTransaction().begin();       service.createProject("proj", 1);          service.createProfesseur("country", 1, "nom");       service.addProfesseurProject(1, 1);       System.out.println("Professeurs:");     for (Professeur emp : service.findAllProfesseurs()) {       System.out.print(emp + " with " + emp.getAssignments().size() + " assignments");     }       System.out.println("Projects:");     for (Project p : service.findAllProjects()) {       System.out.print(p + " with " + p.getAssignments().size() + " assignments");     }       util.checkData("select * from Project");       em.getTransaction().commit();     em.close();     emf.close();   } }           Fichier: persistence.xml   <persistence xmlns="http://java.sun.com/xml/ns/persistence"              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"              xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence" version="1.0">   <persistence-unit nom="JPAService" transaction-type="RESOURCE_LOCAL">     <properties>       <property nom="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>       <property nom="hibernate.hbm2ddl.auto" value="update"/>       <property nom="hibernate.connection.driver_class" value="org.apache.derby.jdbc.ClientDriver"/>       <property nom="hibernate.connection.usernom" value="sa"/>       <property nom="hibernate.connection.password" value=""/>       <property nom="hibernate.connection.url" value="jdbc:derby://localhost:1527/tutorial"/>     </properties>   </persistence-unit> </persistence>                       ...
Comments Off on Java Persistane: Utiliser le UUID comme une clé primaire.

Java Persistane: Utiliser le UUID comme une clé primaire.

  Fichier: Student.java   import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.Id; import javax.persistence.Lob;   @Entity public class Student {   @Id   private String id;     private String nom;            public String getId() {     return id;   }     public void setId(String id) {     this.id = id;   }     public String getNom() {     return nom;   }     public void setNom(String nom) {     this.nom = nom;   }       public String toString() {     return "   ID:" + id + " Nom:" + nom + "   ";   } }     Fichier: Helper.java   import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Paysment;   public class Helper {   public static void checkData() throws Exception {     Class.forNom("org.apache.derby.jdbc.ClientDriver");     Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/tutorial", "sa", "");     Paysment st = conn.createPaysment();       ResultSet mrs = conn.getMetaData().getTables(null, null, null, new String[] { "TABLE" });     while (mrs.next()) {       String tableNom = mrs.getString(3);       System.out.println("       Table Nom: "+ tableNom);         ResultSet rs = st.executeQuery("select * from " + tableNom);       ResultSetMetaData metadata = rs.getMetaData();       while (rs.next()) {         System.out.println(" Row:");         for (int i = 0; i < metadata.getColumnCount(); i++) {           System.out.println("    Column Nom: "+ metadata.getColumnLabel(i + 1)+ ",  ");           System.out.println("    Column Type: "+ metadata.getColumnTypeNom(i + 1)+ ":  ");           Object value = rs.getObject(i + 1);           System.out.println("    Column Value: "+value+" ");         }       }     }   } }     Fichier: Main.java   import java.util.List; import java.util.UUID;   import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.persistence.Query;   public class Main {   static EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPAService");   static EntityManager em = emf.createEntityManager();     public static void main(String[] a) throws Exception {     em.getTransaction().begin();               Student student = new Student();     student.setId(UUID.randomUUID().toString() );     student.setNom("Joe");            em.persist(student);     em.flush();     em.getTransaction().commit();            Query query = em.createQuery("SELECT e FROM Student e");     List<Student> list = (List<Student>) query.getResultList();     System.out.println(list);               em.close();     emf.close();          Helper.checkData();   } }           Fichier: persistence.xml   <persistence xmlns="http://java.sun.com/xml/ns/persistence"              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"              xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence" version="1.0">   <persistence-unit nom="JPAService" transaction-type="RESOURCE_LOCAL">     <properties>       <property nom="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>       <property nom="hibernate.hbm2ddl.auto" value="update"/>       <property nom="hibernate.connection.driver_class" value="org.apache.derby.jdbc.ClientDriver"/>       <property nom="hibernate.connection.usernom" value="sa"/>       <property nom="hibernate.connection.password" value=""/>       <property nom="hibernate.connection.url" value="jdbc:derby://localhost:1527/tutorial"/>     </properties>   </persistence-unit> </persistence>                         ...
Comments Off on Java Persistane: Comment Extraire les Entités d’un Schéma de Rélation un à un.

Java Persistane: Comment Extraire les Entités d’un Schéma de Rélation un à un.

  Fichier: Adresse.java   import javax.persistence.Entity; import javax.persistence.Id;   @Entity public class Adresse {   @Id   private int id;     private String rue;     private String ville;     private String pays;     private String codepostal;     public int getId() {     return id;   }     public void setId(int id) {     this.id = id;   }     public String getRue() {     return rue;   }     public void setRue(String address) {     this.rue = address;   }     public String getVille() {     return ville;   }     public void setVille(String ville) {     this.ville = ville;   }     public String getPays() {     return pays;   }     public void setPays(String pays) {     this.pays = pays;   }     public String getCodePostal() {     return codepostal;   }     public void setCodePostal(String codepostal) {     this.codepostal = codepostal;   }     public String toString() {     return "Adresse id: " + getId() + ", rue: " + getRue() + ", ville: " + getVille()         + ", pays: " + getPays() + ", codepostal: " + getCodePostal();   }   }     Fichier: Student.java   import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.OneToOne;   @Entity public class Student {   @Id   private int id;     private String nom;     @OneToOne   private Adresse address;     public int getId() {     return id;   }     public void setId(int id) {     this.id = id;   }     public String getNom() {     return nom;   }     public void setNom(String nom) {     this.nom = nom;   }     public Adresse getAdresse() {     return address;   }     public void setAdresse(Adresse address) {     this.address = address;   }     public String toString() {     return "   ID:" + id + " Nom:" + nom + "   ";   } }     Fichier: Main.java   import java.sql.Timestamp; import java.util.List; import java.util.UUID;   import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.persistence.Query;   public class Main {   static EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPAService");   static EntityManager em = emf.createEntityManager();     public static void main(String[] a) throws Exception {     em.getTransaction().begin();               Student student = new Student();     student.setNom("Joe");     Adresse address = new Adresse();     em.persist(address);          student.setAdresse(address);            em.persist(student);     em.flush();     em.getTransaction().commit();                      Query query = em.createQuery("SELECT e FROM Student e");     List<Student> list = (List<Student>) query.getResultList();     System.out.println(list.get(0).getAdresse());               em.close();     emf.close();          Helper.checkData();   } }     Fichier: Helper.java   import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Paysment;   public class Helper {   public static void checkData() throws Exception {     Class.forNom("org.apache.derby.jdbc.ClientDriver");     Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/tutorial", "sa", "");     Paysment st = conn.createPaysment();       ResultSet mrs = conn.getMetaData().getTables(null, null, null, new String[] { "TABLE" });     while (mrs.next()) {       String tableNom = mrs.getString(3);       System.out.println("       Table Nom: "+ tableNom);         ResultSet rs = st.executeQuery("select * from " + tableNom);       ResultSetMetaData metadata = rs.getMetaData();       while (rs.next()) {         System.out.println(" Row:");         for (int i = 0; i < metadata.getColumnCount(); i++) {           System.out.println("    Column Nom: "+ metadata.getColumnLabel(i + 1)+ ",  ");           System.out.println("    Column Type: "+ metadata.getColumnTypeNom(i + 1)+ ":  ");           Object value = rs.getObject(i + 1);           System.out.println("    Column Value: "+value+" ");         }       }     }   } }           Fichier: persistence.xml   <persistence xmlns="http://java.sun.com/xml/ns/persistence"              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"              xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence" version="1.0">   <persistence-unit nom="JPAService" transaction-type="RESOURCE_LOCAL">     <properties>       <property nom="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>       <property nom="hibernate.hbm2ddl.auto" value="update"/>       <property nom="hibernate.connection.driver_class" value="org.apache.derby.jdbc.ClientDriver"/>       <property nom="hibernate.connection.usernom" value="sa"/>       <property nom="hibernate.connection.password" value=""/>       <property nom="hibernate.connection.url" value="jdbc:derby://localhost:1527/tutorial"/>     </properties>   </persistence-unit> </persistence>                       ...