相关疑难解决方法(0)

我发现JPA,或类似的,不鼓励DAO模式

我发现JPA,或类似的,不鼓励DAO模式.我不知道,但我觉得这样,尤其是服务器管理的JTA经理.

在使用DAO模式进行了充分的实践之后,我开始围绕该模式设计基于JPA的应用程序.但它不适合,IMO.我倾向于失去JPA和所有的功能.

好吧,假设您使用悲观锁定触发查询,并从DAO方法返回了一个entites列表.返回后,事务结束并且锁定消失(服务器管理的JTA管理器的情况).所以,没有意义,松散地说.但是有一些有效的案例.

另一个例子更为微不足道.假设您触发查询以获取某个实体,该实体具有延迟加载与其他实体的一对多关联.返回DAO方法后,事务结束.延迟加载将不再起作用,你只是得到null或什么.为了应对这种情况,我们热切地手动加载它.我们做的事情就像a.getBList().size().

因此,IMO最好不要专门制作DAO,并且在您的业务bean中执行此操作,这样您就可以利用这些有用的功能.或者可以说ORM API可以被认为是DAO /数据层本身.所以,我们不需要另一个.

你们有什么想法呢?

注意:我没有说,DAO模式已经过时了.实际上,这取决于具体情况.

java orm dao hibernate jpa

40
推荐指数
2
解决办法
1万
查看次数

JSF控制器,服务和DAO

我正在尝试习惯JSF如何处理数据(来自弹簧背景)

我正在创建一个维护用户列表的简单示例,我有类似的东西

<h:dataTable value="#{userListController.userList}" var="u">
    <h:column>#{u.userId}</h:column>
    <h:column>#{u.userName}</h:column>
</h:dataTable>
Run Code Online (Sandbox Code Playgroud)

然后"控制器"有类似的东西

@Named(value = "userListController")
@SessionScoped
public class UserListController {
    @EJB
    private UserListService userListService;

    private List<User> userList;

    public List<User> getUserList() {
        userList = userListService.getUsers();
        return userList;
    }
}
Run Code Online (Sandbox Code Playgroud)

而"服务"(虽然看起来更像是DAO)有

public class UserListService {

    @PersistenceContext
    private EntityManager em;

    public List<User> getUsers() {
        Query query = em.createQuery("SELECT u from User as u");
        return query.getResultList();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是正确的做事方式吗?我的术语是对的吗?"服务"感觉更像是DAO?控制器感觉它正在做一些服务工作.

jsf dao ejb jpa java-ee

32
推荐指数
2
解决办法
3万
查看次数

如何在JSF + Spring + Hibernate中使用DTO

假设我是关于主题DTO的新手.我无法理解将DTO与JSF,Spring和Hibernate结合使用是否正确.
让我解释一下,到目前为止,我已经使用了直接从数据库创建的实体bean,无论是在业务层还是在表示层中.现在我决定尝试使用DTO方法,但我无法理解他们如何提供帮助.
例如,如果我有两个类User和Message,并且用户有更多的消息关联; 如何从数据库中填充DTO?或者我是否在业务层手动填充DTO?谁能发布一个关于如何使用DTO的例子?

先感谢您.此致,罗伯托

java jsf spring hibernate dto

5
推荐指数
2
解决办法
1万
查看次数

DAO和hibernate之间的区别

我的导师告诉我,DAO和hibernate之间存在差异...我从昨天开始一直在寻找答案,但找不到它.任何人都可以清楚地解释清楚.

提前致谢

java

1
推荐指数
1
解决办法
6766
查看次数

标签 统计

java ×3

dao ×2

hibernate ×2

jpa ×2

jsf ×2

dto ×1

ejb ×1

java-ee ×1

orm ×1

spring ×1