我想在 XHTML 页面中显示用户列表。我通过 EJB (3.0) 从 managedBean 向业务发送请求,然后仍然通过 EJB (3.0) 向 DAO 发送另一个请求。我正在使用 JPA 2 和带有实体管理器的 MySQL 数据库。
我正在向我的数据库发送以下请求
@Remote(IDaoUser.class)
@Stateless
Public class DaoUser implements IDaoUser
@PersitenceContext(unitName = "persistence_unit")
Private EntityManager em;
@Override
Public List<User> getAll() {
Query query = em.createQuery("SELECT u FROM User u");
List<User> users = query.getResultList();
return users;
}
那时一切都很好,我的列表中的所有用户都有所有属性,尤其是 id(主键)。我的用户类有一个属性(生日)并继承自超类 Parent(姓名、名字、邮件、电话...),该父类再次继承自另一个名为 Who 的类,该类只有一个名为 id 的属性(主键)。然后我通过 EJB 将我的列表(用户)返回给企业,一旦进入企业,我意识到所有的 id 属性都是 0。我保留了除 id 之外的所有其他属性(姓名、名字……),我想不通找出我为什么会失去这些价值观。在DAO中我的List中有很好的存储,但在业务中一次全部更改为0。
这是我的商务舱,非常简单
@Remote(IBusinessUser.class)
@Stateless
Public class BusinessUser implements IBusinessUser
@EJB
private IDaoUser proxy;
@Override
Public List<User> getAll() {
List<User> users = proxy.getAll();
return users;
}