Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

import java.io.

Serializable;
import java.util.*;
import javax.persistence.*;

@Entity
@Table(name="Client")
public class Client implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long code_cli ;
private String nom_cli;
/*à la demande*/
/*heritage*/
@OneToMany (mappedBy="client", fetch=FetchType.LAZY, cascade=CascadeType.ALL)
private Collection<Compte> comptes;

import java.io.Serializable;
import java.util.*;
import javax.persistence.*;

@Entity
@Table(name="Compte")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="Type_CPT",
discriminatorType=DiscriminatorType.STRING, length=2)
public class Compte implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long num_cpte;
private Date Date_Cr;
private Double solde;

@ManyToOne
@JoinColumn(name="code_cli")
private Client client;

@OneToMany(mappedBy="compte")
private Collection<Operations> operations;

@ManyToOne
@JoinColumn(name="num_emp")
private Employes employe;

}
import javax.persistence.*;

@Entity
@DiscriminatorValue("CC")
public class CompteCourant extends Compte {

private static final long serialVersionUID = 1L;

private double decouvert;

}
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;

@Entity
@DiscriminatorValue("CE")
public class CompteEpargne extends Compte {

private static final long serialVersionUID = 1L;

private double taux;

import java.io.Serializable;
import java.util.*;
import javax.persistence.*;

@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="Type_OP", discriminatorType=DiscriminatorType.STRING,
length=1)
@Table(name="Operation")
public class Operations implements Serializable {

/**
*
*/
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long num_op;
private Date date_op;
private double montant;

@ManyToOne
@JoinColumn(name="num_cpte")
private Compte compte;

@ManyToOne
@JoinColumn(name="num_emp")
private Employes employe;
}

import javax.persistence.*;

@Entity
@DiscriminatorValue("R")
public class Retrait extends Operations{

/**
*
*/
private static final long serialVersionUID = 1L;

import javax.persistence.*;

@Entity
@DiscriminatorValue("V")
public class Versement extends Operations{

/**
*
*/
private static final long serialVersionUID = 1L;

import java.io.Serializable;
import java.util.*;
import javax.persistence.*;

@Entity
public class Employes implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long num_emp;
private String nom_emp;

@ManyToOne
@JoinColumn(name="num_emp")
private Employes supHierarchique;

@OneToMany(mappedBy="employe")
private Collection<Compte> comptes;

@ManyToMany
@JoinTable(name="Emp_Gr", joinColumns= @JoinColumn(name="num_emp"),
inverseJoinColumns= @JoinColumn (name="num_groupe"))
private Collection<Groupe> groupes;
}

import java.io.Serializable;
import java.util.*;
import javax.persistence.*;

@Entity
public class Groupe implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long num_gr;
private String nom_gr;

@ManyToMany(mappedBy="groupes")
private Collection<Employes> employes;

import java.util.*;

import javax.persistence.*;

public class TestQuery {

public static void main(String[] args) {


// TODO Auto-generated method stub

EntityManager em = null;

/* ************** 1 **************** */
String s1 = "select * from Compte where solde > 500 DESC";

Query query1 = em.createQuery(s1);

List<Compte> listeComptes = (List<Compte>)query1.getResultList();

/* ************** 2 **************** */
String s2 = "select num_cpte as 'NUM' from Compte where Date_Cr >= :date";

Query query2 = em.createQuery(s2);


query2.setParameter("date", "01-09-2010");
List<Long> liste2Comptes =(List<Long>)query2.getResultList();

/* ************** 3 **************** */
String s3 = "SELECT cl from Client where (SELECT COUNT(*) FROM Compte C1 join
Client Cl2 using (code) where cl.code = cl2.code ) > 1";

Query query3 = em.createQuery(s3);

List<Compte> listeClients =(List<Compte>)query3.getResultList();

/* ************** 4 **************** */
String s4 = "select * from Employes as e where e.nom_emp like '%A%M%' or
e.nom_emp like '%M%A%'";

Query query4 = em.createQuery(s4);

List<Compte> listeEmployes =
(List<Compte>)query4.getResultList();

/* ************** 5 **************** */
String s5 = "select COUNT(*) from Employes where nom_emp like '*A*M*' or
'*M*A*'";

Query query5 = em.createQuery(s5);

List<Compte> liste5Clients =
(List<Compte>)query5.getResultList();

/* ************** 6 **************** */
String s6 = "SELECT emp_gr ,COUNT(num_emp) FROM Employes BY emp_gr ";
Query query6 = em.createQuery(s6);

List<Compte> liste6Employes =(List<Compte>)query6.getResultList();

You might also like