IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JPA Java Discussion :

opérations CRUD sur plusieurs entity


Sujet :

JPA Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 116
    Par défaut opérations CRUD sur plusieurs entity
    Bonjour je développe une application avec JSF et JPA(Netbean6.5.1 et glasfishv2 et PostgreSQL 8.4.1 comme serveur de base de données). Je joins une partie de la db. Un customer peut être lié à plusieurs listes et inversement. un Customer peut être propriétaire ou bénéficiaire d'une liste.(désolais pour ce franglais).
    Je fais une recherche des listes et j'aimerai afficher les champs suivants: Nom et Prénom de l'entity Customer, le type de l'entity Type, la date de événement et le statut de l'entity ListCadeaux. J'arrive à afficher tous les champs sauf ceux du Customer. Ca doit paraitre simple mais, mais je tourne en rond.
    Quelqu'un a t-il une piste merci d'avance.
    voici les entity
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    @Entity
    @Table(name = "t_customer")
    public class Customer implements Comparable, Serializable {//Comparable,
        //===========================
        //=     attributs           =
        //===========================
        @Id
        @GeneratedValue(strategy = GenerationType.SEQUENCE)
        private Long cust_id;
        @Column(name = "cust_first_name")
        private String first_name;
        @Column(name = "cust_last_name")
        private String last_name;
        @Column(name = "cust_email")
        private String email;
        @Column(name = "cust_pswd")
        private String password;
       //...
        @ManyToMany(mappedBy = "customers", cascade = CascadeType.PERSIST)
        @JoinTable(name = "t_cust_list",
        joinColumns = {
            @JoinColumn(name = "cust_id")},
        inverseJoinColumns = {
            @JoinColumn(name = "list_id")})
        private List<ListCadeaux> listscadeaux = new ArrayList<ListCadeaux>();
    //...
    }
    entity ListCadeaux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    @Entity
    @Table(name = "t_list")
    public class ListCadeaux implements Serializable, Comparable {
     
        @Id
        @GeneratedValue(strategy = GenerationType.SEQUENCE)
        private Long list_id;
        @ManyToOne(fetch = FetchType.EAGER)
        @JoinColumn(name = "list_type_id")
        private Type type = new Type();
        @Temporal(TemporalType.DATE)
        @Column(name = "list_creation_date")
        private Date creation_date;
        @Temporal(TemporalType.DATE)
        @Column(name = "list_event_date")
        private Date event_date;
        @Column(name = "list_av_amount")
        private Double av_amount = 0.0;
        @Column(name = "list_status")
        private String status;// en cours ou cloturée
        @ManyToMany
        private List<Customer> customers;
     
    //...
    }
    la joinTable(est-t elle bien représentée?)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    @Entity
    @Table(name = "t_cust_list")
    public class CustList implements Comparable, Serializable {
     
        @Id
        @GeneratedValue(strategy = GenerationType.SEQUENCE)
        private Long cust_list_id;
     
        @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
        @JoinColumn(name = "cust_id")
        private Customer customer = new Customer();
     
        @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
        @JoinColumn(name = "list_id")
        private ListCadeaux list_cadeaux = new ListCadeaux();
     
        @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
        @JoinColumn(name = "status_id")
        private Status status = new Status();
    //...
    }
    le statless bean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    @Stateless
    public class ListCadeauxBean implements ListCadeauxRemote, ListCadeauxLocal {
     
        @PersistenceContext(unitName = "ListCadeaux_PU")
        private EntityManager em;
     
        //==============================================================
        //=  methode publiques pour le client sur 1 liste de cadeaux   =
        //==============================================================
        /**
         *
         * @param custlist
         * @return
         */
        public ListCadeaux createList(ListCadeaux listcadeaux) {
            // On s'assure de la validité des paramètres
            if (listcadeaux == null) {
                throw new ValidationException("List object is null");
            }
            em.persist(listcadeaux);
            return listcadeaux;
        }
     
        /**
         * find an object by his id
         * @param cust_list_id
         * @return
         */
        public ListCadeaux findList(Long list_id) {
            // On s'assure de la validité des paramètres
            if (list_id == null) {
                throw new ValidationException("List id is invalid");
            }
            ListCadeaux listcadeaux;
            // On recherche l'objet à partir de son identifiant
            listcadeaux = em.find(ListCadeaux.class, list_id);
            return listcadeaux;
        }
     
        /**
         * update afeter changing data
         * @param custlist
         * @return
         */
        public ListCadeaux updateList(ListCadeaux listcadeaux) {
            // On s'assure de la validité des paramètres
            if (listcadeaux == null) {
                throw new ValidationException("CustList object is null");
            }
            // On modifie l'objet de la base de données
            em.merge(listcadeaux);
            return listcadeaux;
        }
     
        /**
         * find the custlist with parameters
         * @param custlist
         * @return
         */
        public List<ListCadeaux> searchLists(ListCadeaux listcadeaux) {
            Query query;
            List<ListCadeaux> list_s_cadeaux;
            String sWhere = "";
            if (listcadeaux != null) {
                if (listcadeaux.getAv_amount() != 0) {
                    if (sWhere.equals("")) {
                        sWhere = " where av_amount like '%" + listcadeaux.getAv_amount() + "%'";
                    } else {
                        sWhere = sWhere + " and av_amount like '% " + listcadeaux.getAv_amount() + " %'";
                    }
                }
                 if (!listcadeaux.getStatus().equals("")) {
                    if (sWhere.equals("")) {
                        sWhere = " where status like '%" + listcadeaux.getStatus() + "%'";
                    } else {
                        sWhere = sWhere + " and status like '% " + listcadeaux.getStatus() + " %'";
                    }
                }
                 if (listcadeaux.getType().getType_name() != null) {
                    if (sWhere.equals("")) {
                        sWhere = " where t.type_name like '%" + listcadeaux.getType().getType_name()+ "%'";
                    } else {
                        sWhere = sWhere + " and t.type_name like '% " + listcadeaux.getType().getType_name()+ " %'";
                    }
                }
     
            }
            //query = em.createQuery("SELECT cl FROM CustList cl JOIN cl.customer c JOIN cl.list_cadeaux lc" + sWhere);//JOIN cl.list_cadeaux lc
            query = em.createQuery("SELECT l FROM ListCadeaux l JOIN l.type t " + sWhere);
            list_s_cadeaux = query.getResultList();
            return list_s_cadeaux;
        }
     
        /**
         * find the types
         * @param type
         * @return
         */
        public List<Type> searchTypes(Type type) {
            Query query;
            List<Type> types;
     
            String sWhere = "";
            if (type != null) {
                if (!type.getType_name().equals("")) {
                    if (sWhere.equals("")) {
                        sWhere = " where type_name like '%" + type.getType_name() + "%'";
                    } else {
                        sWhere = sWhere + " and type_name like '%" + type.getType_name() + "%'";
                    }
                }
            }
            query = em.createQuery("SELECT t FROM Type t " + sWhere + " ORDER by t.type_name");
            types = query.getResultList();
            return types;
        }
     
        /**
         * delete the object from db
         * @param custlist
         */
        public void deleteList(ListCadeaux listcadeaux) {
            em.remove(em.merge(listcadeaux));
        }
     
     
        //==============================================================
        //=  methode publiques pour le client sur 1 liste de cadeaux   =
        //==============================================================
        public CustList createCustList(CustList custlist) {
            // On s'assure de la validité des paramètres
            if (custlist == null) {
                throw new ValidationException("custlist object is null");
            }
            em.persist(custlist);
            return custlist;
        }
     
        public CustList findCustList(Long cust_list_id) {
            // On s'assure de la validité des paramètres
            if (cust_list_id == null) {
                throw new ValidationException("custlist id is invalid");
            }
            CustList custlist;
            // On recherche l'objet à partir de son identifiant
            custlist = em.find(CustList.class, cust_list_id);
            return custlist;
        }
     
        public CustList updateCustlist(CustList custlist) {
            // On s'assure de la validité des paramètres
            if (custlist == null) {
                throw new ValidationException("CustList object is null");
            }
            // On modifie l'objet de la base de données
            em.merge(custlist);
            return custlist;
        }
     
        public List<CustList> searchCustLists(CustList custlist) {
            Query query;
            List<CustList> custlits;
            String sWhere = "";
            if (custlist != null) {
                if (custlist.getCustomer().getFirst_name().equals("")) {
                    if (sWhere.equals("")) {
                        sWhere = " where c.first_name like '%" + custlist.getCustomer().getFirst_name() + "%'";
                    } else {
                        sWhere = sWhere + " and c.first_name like '% " + custlist.getCustomer().getFirst_name() + " %'";
     
                    }
                }
                if (custlist.getCustomer().getLast_name().equals("")) {
                    if (sWhere.equals("")) {
                        sWhere = " where c.last_name like '%" + custlist.getCustomer().getLast_name() + "%'";
                    } else {
                        sWhere = sWhere + " and c.last_name like '% " + custlist.getCustomer().getLast_name() + " %'";
     
                    }
                }
                /*if (custlist.getCustomer().getEmail().equals("")) {
                if (sWhere.equals("")) {
                sWhere = " where c.email like '%" + custlist.getCustomer().getEmail() + "%'";
                } else {
                sWhere = sWhere + " and c.email like '% " + custlist.getCustomer().getEmail() + " %'";
     
                }
                }*/
                /*if (custlist.getList_cadeaux().getType().getType_name().equals("")) {
                if (sWhere.equals("")) {
                sWhere = " where lc.t.type_name like '%" + custlist.getCustomer().getFirst_name() + "%'";
                } else {
                sWhere = sWhere + " and c.first_name like '% " + custlist.getCustomer().getFirst_name() + " %'";
     
                }
                }*/
                /*if (custlist.getList_cadeaux().getStatus().equals("")) {
                if (sWhere.equals("")) {
                sWhere = " where lc.status like '%" + custlist.getList_cadeaux().getStatus() + "%'";
                } else {
                sWhere = sWhere + " and lc.status  like '% " + custlist.getList_cadeaux().getStatus() + " %'";
                }
                }*/
            }
            query = em.createQuery("SELECT cl FROM CustList cl JOIN cl.customer c JOIN cl.list_cadeaux lc" + sWhere);//JOIN cl.list_cadeaux lc
     
            custlits = query.getResultList();
            return custlits;
        }
     
        public void deleteCustList(CustList custlist) {
           em.remove(em.merge(custlist));
        }
    }
    le contoller JSF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    public class ListCadeauxController {
     
        //===========================================================
        //=                   attributs                             =
        //===========================================================
        @EJB
        private ListCadeauxLocal listCadeauxBean;
        private ListCadeaux ListRech = new ListCadeaux();
        private ListCadeaux listDetail;
        private List<ListCadeaux> list_s_cadeaux;
     
        private CustList custlistRech = new CustList();
        private CustList custlistDetail;
        private List<CustList> custlists;
        private Type type = new Type();
        private List<Type> types;
        private Map typesCB;
        private PagingInfo pagingInfo = new PagingInfo();
     
        //============================================================
        //=           methodes publiques  pour la liste              =
        //============================================================
        /**
         *
         * @return
         */
        public String doCreatList() {
            String goTo = null;
            ListRech = listCadeauxBean.createList(ListRech);
            goTo = "list.created";
            return goTo;
        }
     
        /**
         *
         */
        public String doFindList() {
            String goTo = null;
            listDetail = listCadeauxBean.findList(getParamId("list_id"));
            goTo = "list.displayed";
            return goTo;
        }
     
        /**
         * 
         */
        public String doFindLists() {
            String goTo = null;
            list_s_cadeaux = listCadeauxBean.searchLists(ListRech);
            goTo = "lists.displayed";
            return goTo;
        }
     
        /**
         * 
         * @return
         */
        public Map getAllTypes() {
            types = listCadeauxBean.searchTypes(null);
            if (typesCB == null) {
                typesCB = new TreeMap();
                for (Type t : types) {
                    typesCB.put(t.getType_name(), new Long(t.getType_id()));
                }
            }
            return typesCB;
        }
     
        /**
         * after making change save in db
         */
        public void doSave() {
            listCadeauxBean.updateList(listDetail);
        }
     
        //============================================================
        //=      methodes publiques  pour le client sur la liste     =
        //============================================================
        /**
         *
         * @return
         */
        public String doCreatCustList() {
            String goTo = null;
            custlistRech = listCadeauxBean.createCustList(custlistRech);
            goTo = "custlist.created";
            return goTo;
        }
     
        /**
         *
         */
        public String doFindCustList() {
            String goTo = null;
            custlistDetail = listCadeauxBean.findCustList(getParamId("cust_list_id"));
            goTo = "custlist.displayed";
            return goTo;
        }
     
        /**
         * find the list of the cust
         */
        public String doFindCustLists() {
            String goTo = null;
            custlists = listCadeauxBean.searchCustLists(custlistRech);
            goTo = "custlists.displayed";
            return goTo;
        }
     
        //===========================================
        //=          Fonctions utilitaires          =
        //===========================================
        /**
         * @return the types
         */
        public Long getParamId(String sParam) {
            FacesContext context = FacesContext.getCurrentInstance();
            Map<String, String> map = context.getExternalContext().getRequestParameterMap();
            String result = map.get(sParam);
            return Long.valueOf(result);
        //return Long.valueOf(result);
        }
     
            // getters and setters  
     
    }
    et le jsp pour finir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
     
     <h:form>
                    <table>
                        <tr>
                            <td><h:outputText value="#{msgs.first_name}" /></td>
                            <td><h:inputText value="#{list.custlistRech.customer.first_name}" /></td>
     
                            <%--
                            <h:inputText id="lastName" value="#{personCtrl.newPerson.lastName}"
                    required="true" requiredMessage="Nom obligatoire" />
                    <h:message for="first_name" />
                            --%>
     
                        </tr>
                        <tr>
                            <td><h:outputText value="#{msgs.last_name}" /></td>
                            <td><h:inputText value="#{list.custlistRech.customer.last_name}" /></td>
                        </tr>
                        <tr>
                            <td><h:outputText value="#{msgs.type}" /></td>
                            <td>
                                <h:selectOneMenu value="#{list.listRech.type.type_id}">
                                    <f:selectItems value="#{list.allTypes}"/>
                                </h:selectOneMenu>
                            </td>
                        </tr>
                        <tr>
                            <td><h:outputText value="#{msgs.status}" /></td>
                            <td><h:inputText value="#{list.listRech.status}" /></td>
                        </tr>
                        <tr>
                            <td><h:commandButton value="#{msgs.Rech}" action="#{list.doFindLists}" /></td>
                        </tr>
                    </table>
                </h:form>
     
                <h:form>
                    <h:dataTable value="#{list.custlists}"
                                 var="custlistsRow">
                        <f:facet name="caption">
                            <h:outputText value="#{msgs.windowShowLists}"/>
                        </f:facet>
     
                        <h:column footerClass="columnFooter">
                            <f:facet name="header">
                                <h:outputText value="#{msgs.first_name}" />
                            </f:facet>
                            <h:outputText value="#{custlistsRow.customer.first_name}" />
                            <f:facet name="footer">
                                <h:outputText value="#{msgs.first_name}" />
                            </f:facet>
                        </h:column>
                        <h:column footerClass="columnFooter">
                            <f:facet name="header">
                                <h:outputText value="#{msgs.last_name}" />
                            </f:facet>
                            <h:outputText value="#{custlistsRow.customer.last_name}" />
                            <f:facet name="footer">
                                <h:outputText value="#{msgs.last_name}" />
                            </f:facet>
                        </h:column>
     
                    </h:dataTable>
     
                    <h:dataTable value="#{list.list_s_cadeaux}" border="3" rules="all"
                                 var="listsRow">
                        <h:column footerClass="columnFooter">
                            <f:facet name="header">
                                <h:outputText value="#{msgs.status}" />
                            </f:facet>
     
                            <h:commandLink action="#{list.doFindList}"
                                           value="#{listsRow.status}">
                                <f:param name="list_id" value="#{listsRow.list_id}" />
                            </h:commandLink>
     
                            <%--<h:outputText value="#{listRow.status}" />--%>
                            <f:facet name="footer">
                                <h:outputText value="#{msgs.status}" />
                            </f:facet>
                        </h:column>
                        <h:column footerClass="columnFooter">
                            <f:facet name="header">
                                <h:outputText value="#{msgs.av_amount}" />
                            </f:facet>
                            <h:outputText value="#{listsRow.av_amount}" />
                            <f:facet name="footer">
                                <h:outputText value="#{msgs.av_amount}" />
                            </f:facet>
                        </h:column>
                        <h:column footerClass="columnFooter">
                            <f:facet name="header">
                                <h:outputText value="#{msgs.creation_date}" />
                            </f:facet>
                            <h:outputText value="#{listsRow.creation_date}" />
                            <f:facet name="footer">
                                <h:outputText value="#{msgs.creation_date}" />
                            </f:facet>
                        </h:column>
                        <h:column footerClass="columnFooter">
                            <f:facet name="header">
                                <h:outputText value="#{msgs.event_date}" />
                            </f:facet>
                            <h:outputText value="#{listsRow.event_date}" />
                            <f:facet name="footer">
                                <h:outputText value="#{msgs.event_date}" />
                            </f:facet>
                        </h:column>
                        <h:column footerClass="columnFooter">
                            <f:facet name="header">
                                <h:outputText value="#{msgs.type}" />
                            </f:facet>
     
                            <h:outputText value="#{listsRow.type.type_name}"/>
                            <f:facet name="footer">
                                <h:outputText value="#{msgs.type}" />
                            </f:facet>
                        </h:column>
     
                    </h:dataTable>
     
                </h:form>
     
                <h:form title="Detail">
                    <table>
                        <tr>
                            <td><h:outputText value="#{msgs.first_name}" /></td>
                            <td><h:inputText value="#{list.custlistDetail.customer.first_name}" /></td>
                        </tr>
                        <tr>
                            <td><h:outputText value="#{msgs.last_name}" /></td>
                            <td><h:inputText value="#{list.custlistDetail.customer.last_name}" /></td>
                        </tr>
     
                        <tr>
                            <td><h:outputText value="#{msgs.status}" /></td>
                            <td><h:inputText value="#{list.listDetail.status}" /></td>
                        </tr>
     
                        <tr>
                            <td><h:outputText value="#{msgs.av_amount}" /></td>
                            <td><h:inputText value="#{list.listDetail.av_amount}" /></td>
                        </tr>
                        <tr>
                            <td><h:outputText value="#{msgs.creation_date}" /></td>
                            <td><h:inputText value="#{list.listDetail.creation_date}" >
                                    <f:convertDateTime pattern="dd/MM/yyyy" />
                                </h:inputText>
                            </td>
                        </tr>
                        <tr>
                            <td><h:outputText value="#{msgs.event_date}" /></td>
                            <td>
                                <h:inputText value="#{list.listDetail.event_date}" >
                                    <f:convertDateTime pattern="dd/MM/yyyy" />
                                </h:inputText>
                            </td>
                        </tr>
                        <tr>
                            <td><h:outputText value="#{msgs.type}" /></td>
                            <td>
                                <h:selectOneMenu value="#{list.listDetail.type.type_id}">
                                    <f:selectItems value="#{list.allTypes}"/>
                                </h:selectOneMenu>
                            </td>
                        </tr>
     
                        <tr>
                            <td><h:commandButton value="#{msgs.Sauve}" action="#{list.doSave}" /></td>
                        </tr>
                    </table>
     
                </h:form>
    voila j'ai essayé d'être le plus claire merci d'avance à vous
    Images attachées Images attachées

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche Lucene sur plusieurs entitié
    Par noepk dans le forum Doctrine2
    Réponses: 1
    Dernier message: 17/09/2012, 14h41
  2. Opération sur plusieurs images dicom
    Par bigDigit dans le forum Images
    Réponses: 4
    Dernier message: 02/06/2009, 14h41
  3. [EJB3 Entity] select sur plusieurs entity
    Par sgamette dans le forum Java EE
    Réponses: 2
    Dernier message: 17/02/2009, 11h53
  4. Effectuer des opérations sur plusieurs fichiers txt
    Par Jim la truite dans le forum MATLAB
    Réponses: 4
    Dernier message: 11/08/2008, 23h18
  5. Opérations sur plusieurs fichiers
    Par arnest dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/03/2008, 11h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo