J'essaie de comprendre l'architecture de base d'une architecture JavaEE fonctionnant avec Struts2, Hibernate et EJB.Architecture Hibernate EJB - Modèle ClassNotFoundException
J'ai une application simple qui ajoute des employés et les liste.
Jusqu'à présent, j'ai fait 3 projets dans Eclipse:
- projet JPA qui contient mon modèle lié à la base de données
- projet EJB qui gère la couche de service
- projet web dynamique pour Struts 2
projet web dynamique> controller.EmployeeAction.java:
import local.EmployeeService;
import model.Employee;
public class EmployeeAction extends ActionSupport {
private Employee employee;
private Collection<Employee> employeeList;
@EJB
private EmployeeService employeeManager;
public String execute() {
this.employeeList = employeeManager.findAll();
return SUCCESS;
}
public String add() {
employeeManager.addItem(this.employee);
this.employeeList = employeeManager.findAll();
return SUCCESS;
}
[...]
}
projet EJB> local.EmployeeService.java:
import model.Employee;
@Stateless
public class EmployeeService {
@PersistenceContext
private EntityManager em;
public void addItem(Employee i) {
em.persist(i);
}
public Collection<Employee> findAll() {
Query query = em.createQuery("SELECT e FROM Employee e");
return (Collection<Employee>) query.getResultList();
}
}
projet JPA> model.Employee:
@Entity
@Table(name="\"Employee\"")
@NamedQuery(name="Employee.findAll", query="SELECT e FROM Employee e")
public class Employee implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(unique=true, nullable=false)
private Integer idemployee;
@Column(length=255)
private String password;
@Column(nullable=false, length=255)
private String username;
public Employee() {
}
public Integer getIdemployee() {
return this.idemployee;
}
public void setIdemployee(Integer idemployee) {
this.idemployee = idemployee;
}
[...]
}
Mais lorsque je tente d'ajouter un employé, je reçois un ClassNotFoundException pour model.Employee
.
Le chemin de classe semble bon. Est-ce que je manque quelque chose?
Merci, j'ai un autre problème, mais celui-ci est corrigé. Notez simplement qu'il est appelé 'Deployment Assembly' dans Eclipse Kepler. – Arthur