用户,本土bean或持久方法的CRUD?

时间:2013-05-20 17:26:12

标签: java api jsf crud

我使用netbeans,当我开始为app-user的管理创建一个bean时,我开始想知道:哪种方式更有用,持久化DB表并在其上应用EJB或创建一个bean处理与DB的连接并“手动”进行测试(对用户进行CRUD操作的本地bean)?

我承认这个问题很广泛,但作为初学者,我不得不问在未来的方式对我来说会更简单或更安全。

Plus:JSF上用于处理用户表上的CRUD操作的所有API,包含所有必需的测试(例如具有确切名称和密码的用户)等等?

感谢。

编辑:我注意到在Netbeans中使用JSF的CRUD很少(使用7.1.2),我认为其中一个是针对用户的CRUD,但我不知道你会信任多少工作在现实生活中有这样的例子,有什么说法是安全和精致的吗?

1 个答案:

答案 0 :(得分:1)

现在您的后端有两个选项 - CDI和EJB。我猜你不需要像事务和RMI这样的东西,所以CDI会为你完成这项工作(它与JSF非常相似,但它增加了更多的功能,JSFs Managed Beans很快就会过时)。

您的UserBean对JSF页面可见

@Named
@RequestScoped //this depends on your use case
public UserBean {

    @Inject
    private UserDao dao;

    public void addUser(User user) {
        dao.addUser(user);
    }
}

你的UserDao bean可能会喜欢这个

@RequestScoped
public UserDao {

    @PersistencyContext
    private EntityManager em;

    public void addUser(User user) {
        em.save(user);
    }
}

当然,这个例子并不完美,它有它的缺点,但你需要开始的东西,CDI和JSF绝对是这样。稍后您可以添加EJB。另请参阅此tutorial,它将基本概述CDI和JSF可以一起完成的任务。