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 list = (List) 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