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

JSF Java Discussion :

Problème utilisation Maven + JSF + JPA


Sujet :

JSF Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 2
    Par défaut Problème utilisation Maven + JSF + JPA
    Bonsoir,

    Je suis actuellement sur une application JSF+ JPA qu'il faut gérer via Maven.
    Je suis sous NetBeans et j'utilise JSF 2 ( PrimeFaces ) et JPA 2 ( eclipsLink), e glassfish 3.1.1.
    J'ai mis en place :
    -- une entity beans ( CustomerJava) ,
    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
     
    @Entity
    @Table(name = "customer")
    public class Customer extends AbstractDomain implements Serializable {
        private static final long serialVersionUID = 1L;
        @Id
        @Basic(optional = false)
        @NotNull
        @GeneratedValue(strategy = GenerationType.SEQUENCE)
        @Column(name = "idcustomer")
        private Short idcustomer;
     
        @Basic(optional = false)
        @NotNull
        @Size(min = 1, max = 25)
        private String namecustomer;
     
        @Basic(optional = false)
        @NotNull
        @Size(min = 1, max = 25)
        @Column(name = "surnamecustomer")
        private String surnamecustomer;
     
        public Customer() {
        }
     
        public Customer(Short idcustomer) {
            this.idcustomer = idcustomer;
        }
     
        public Customer(Short idcustomer, String namecustomer, String surnamecustomer) {
            this.idcustomer = idcustomer;
            this.namecustomer = namecustomer;
            this.surnamecustomer = surnamecustomer;
        }
     
       //getters + setters pour les variables
     
    }
    -- une DAO (en utilisant le mécanise abstract donc j'ai un AbstractDao et un CustomerDao extends AbstractDao) ,
    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
     
    public abstract class AbstractDao<T> {
        private Class<T> entityClass;
     
        public AbstractDao(Class<T> entityClass) {
            this.entityClass = entityClass;
        }
     
        protected abstract EntityManager getEntityManager();
     
        public void create(T entity) {
            getEntityManager().persist(entity);
        }
     
        public void edit(T entity) {
            getEntityManager().merge(entity);
        }
     
        public void remove(T entity) {
            getEntityManager().remove(getEntityManager().merge(entity));
        }
     
        public T find(Object id) {
            return getEntityManager().find(entityClass, id);
        }
     
        public List<T> findAll() {
            javax.persistence.criteria.CriteriaQuery cq =  getEntityManager().getCriteriaBuilder().createQuery();
            cq.select(cq.from(entityClass));
            return getEntityManager().createQuery(cq).getResultList();
        }
     
    }
    CustomerDao
    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
     
    @Stateless
    public class CustomerDao extends AbstractDao<Customer> {
        @PersistenceContext(unitName = "com.ehnor.avel_avel2_war_1.0-SNAPSHOTPU")
        private EntityManager em;
     
        //@EJB
        //Customer customer;
     
        @Override
        protected EntityManager getEntityManager() {
            return em;
        }
     
        public CustomerDao() {
            super(Customer.class);
        }
     
    }
    -- Service(AbstractService et CustomerService extends AbstractService),
    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
     
    public abstract class AbstractService <T extends AbstractDao , M extends AbstractDomain> {
     
        protected Class<T> daoClass;
        protected Class<M> domainClass;
     
        public AbstractService(Class<T> daoClass ,  Class<M> domainClass) {
     
            this.daoClass = daoClass;
            this.domainClass = domainClass;
        }
     
        public void createService(T daoClass , M domainClass) {
     
            daoClass.create(domainClass);
     
        }
     
        public void edit(T daoClass , M domainClass) {
            daoClass.edit(domainClass);
        }
     
        public void remove(T daoClass , M domainClass) {
             daoClass.remove(domainClass);
        }
     
        public Object find(T daoClass ,Object id) {
            return daoClass.find(id);
        }
     
    }
    CustomerService
    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
    @Stateless
    public class CustomerService extends AbstractService <CustomerDao , Customer> {
     
        @EJB
        private CustomerDao customerDao;
     
     
        public CustomerService() {
            super(CustomerDao.class , Customer.class);
        }
     
        /**
         * @return the customerDao
         */
        public CustomerDao getCustomerDao() {
            return customerDao;
        }
     
        /**
         * @param customerDao the customerDao to set
         */
        public void setCustomerDao(CustomerDao customerDao) {
            this.customerDao = customerDao;
        }
     
     
     
    }
    Et enfin un managedBean
    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
     
    @ManagedBean
    @Stateless
    @SessionScoped
    public class CustomerEditBean {
     
        @EJB
        private CustomerService customerService;
     
        private Customer customer;
     
        List<Customer> listAllCustomers;
        /**
         * Creates a new instance of CustomerEditBean
         */
        public CustomerEditBean() {
        }
     
        /**
         * @return the customer
         */
        public Customer getCustomer() {
            return customer;
        }
     
        /**
         * @param customer the customer to set
         */
        public void setCustomer(Customer customer) {
            this.customer = customer;
        }
     
        /**
         * @return the customerService
         */
        public CustomerService getCustomerService() {
            return customerService;
        }
     
        /**
         * @param customerService the customerService to set
         */
      public void setCustomerService(CustomerService customerService) {
            this.customerService = customerService;
        }
     
            public String createNewCustomer(Customer customer)
        {
            customerService.getCustomerDao().create(customer);
            return "home";
        }
     
        public String modifyNewCustomer(Customer customer)
        {
            customerService.getCustomerDao().edit(customer);
            return "home";
        }
     
        public String deleteCustomer(Customer customer)
        {
            customerService.getCustomerDao().remove(customer);
            return "home";
        }
     
        public String findCustomer(Customer customer)
        {
            this.customer = customerService.getCustomerDao().find(customer.getIdcustomer());
             return "home";
        }
        public String findAllCustomers()
        {
            this.listAllCustomers = customerService.getCustomerDao().findAll();
            return "home";
        }
    }
    et dans ma page jsf quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     customerBean.customer.namecustomer
    , je me prends une exception Target Unreachable, 'null' returned null

    Je vous remercie par avance.
    NB : Désolé pour ce grand post...

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 2
    Par défaut
    J'ai vu mon erreur, en fait j'ai oublié d'initialiser le customer de la classe CustomerEditBean.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Customer customer = new Customer();
    Mais j'ai encore un autre soucis de connexion à la base, je vais voir ça....

Discussions similaires

  1. Problème association EJB3 / Weblogic / JPA / JSF
    Par limalima dans le forum JSF
    Réponses: 2
    Dernier message: 18/06/2014, 22h17
  2. Project Maven et JEE (JSF, JPA, , JTA,...)
    Par geforce dans le forum JPA
    Réponses: 1
    Dernier message: 25/02/2013, 09h57
  3. Réponses: 6
    Dernier message: 13/07/2012, 22h02
  4. Description IDE JSF/JPA/CDI et projet Maven
    Par Phossoyeur dans le forum JSF
    Réponses: 2
    Dernier message: 24/01/2012, 15h41
  5. [JAR]Problème utilisation manifest et jar
    Par doudine dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 07/01/2005, 10h21

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