[jboss-user] [EJB 3.0] - Web Page Having Trouble Connecting to EJB 3.0 Enity
kurzweil4
do-not-reply at jboss.com
Sat Aug 4 18:25:14 EDT 2007
I have an application with a Model and a View project. The bean in the View project is having trouble finding the EJB Enity in the Model project. The binding DepartmentsBean.departments is failing with this error:
javax.el.ELException: javax.faces.el.EvaluationException: javax.el.ELException: Error reading 'departments' on type ice.data.table.view.DepartmentsBean
I had the EXACT same error when I was deploying to OC4J, but the problem was that my Model project was not deployed as an EJB Jar. That is not the problem in this case since I am now using en EJB Jar.
Also, I have tested my DB connection with a plain JSP manually querying a table in the DB, so I know my connection configuration is good.
This is my persistence.xml:
<?xml version="1.0" encoding="windows-1252" ?>
| <persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
| version="1.0" xmlns="http://java.sun.com/xml/ns/persistence">
| <persistence-unit name="Model">
| <jta-data-source>java:/hr</jta-data-source>
| <class>ice.data.table.model.Departments</class>
| <class>ice.data.table.model.DepPublicFacade</class>
| <class>ice.data.table.model.DepPublicFacadeLocal</class>
| <class>ice.data.table.model.DepPublicFacadeBean</class>
| </persistence-unit>
| </persistence>
|
This is my entity:
| @Entity
| @NamedQuery( name = "Departments.findAll",
| query = "select o from Departments o" )
| public class Departments implements Serializable
| {
| @Id
| @Column( name="DEPARTMENT_ID", nullable = false )
| private Long departmentId;
| @Column( name="DEPARTMENT_NAME", nullable = false )
| private String departmentName;
| @Column( name="LOCATION_ID" )
| private Long locationId;
| @Column( name="MANAGER_ID" )
| private Long managerId;
|
| public Departments()
| {
| }
|
| public Long getDepartmentId()
| {
| return departmentId;
| }
|
| public void setDepartmentId( Long departmentId )
| {
| this.departmentId = departmentId;
| }
|
| public String getDepartmentName()
| {
| return departmentName;
| }
|
| public void setDepartmentName( String departmentName )
| {
| this.departmentName = departmentName;
| }
|
| public Long getLocationId()
| {
| return locationId;
| }
|
| public void setLocationId( Long locationId )
| {
| this.locationId = locationId;
| }
|
| public Long getManagerId()
| {
| return managerId;
| }
|
| public void setManagerId( Long managerId )
| {
| this.managerId = managerId;
| }
| }
|
This is my facade:
| @Stateless( name="DepPublicFacade" )
| public class DepPublicFacadeBean implements DepPublicFacade, DepPublicFacadeLocal
| {
| @PersistenceContext( unitName="Model" )
| private EntityManager em;
|
| public DepPublicFacadeBean()
| {
| }
|
| public Object mergeEntity( Object entity )
| {
| return em.merge(entity);
| }
|
| public Object persistEntity( Object entity )
| {
| em.persist(entity);
| return entity;
| }
|
| /** <code>select o from Departments o</code> */
| public List<Departments> queryDepartmentsFindAll()
| {
| return em.createNamedQuery("Departments.findAll").getResultList();
| }
|
| public void removeDepartments( Departments departments )
| {
| departments = em.find(Departments.class, departments.getDepartmentId());
| em.remove(departments);
| }
| }
|
This is my bean from the View project:
| public class DepartmentsBean
| {
| private DepPublicFacade model;
|
| public DepartmentsBean()
| {
| try
| {
| final Context context = getInitialContext();
| model = (DepPublicFacade)context.lookup("DepPublicFacade");
| }
| catch (Exception ex)
| {
| ex.printStackTrace();
| }
| }
|
| public List getDepartments()
| {
| return model.queryDepartmentsFindAll();
| }
|
| private static Context getInitialContext() throws NamingException
| {
| // Get InitialContext for Embedded OC4J
| // The embedded server must be running for lookups to succeed.
| return new InitialContext();
| }
| }
|
Any help or pointers to information would be appreciated. I am at a loss here.
Thanks,
Kurzweil4
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4070906#4070906
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4070906
More information about the jboss-user
mailing list