网络应用程序:DAO和JPA用于数据层

4
我正在尝试创建一个安全的登录系统,使用OWASP哈希规范来防止SQL注入攻击。但是对于我的应用程序的其他部分,我考虑使用JPA,我不知道同时使用DAO和JPA是否是一个好的选择,还是应该坚持只使用DAO来保持数据层的一致性?
我还想知道在运行时同时使用JPA和DAO是否会导致兼容性问题?
谢谢!
3个回答

2

所以我应该只使用DAO进行身份验证,而将其余部分使用JPA,因为对于我来说使用自定义查询更容易。 - Alvin Baena
如上所述,如果您的数据访问逻辑仅涉及调用EntityManager的crud方法,则我认为不包括DAO也可以。在这种情况下,DAO只是EntityManager的包装器,没有添加任何价值。 - Gonzalo Garcia Lasurtegui
好的,我现在明白了,你说得对,我应该只使用JPA。谢谢澄清。 - Alvin Baena

1

最好的方式是你可以使用DAO进行安全登录散列处理。在你的应用程序中,你可以使用JPA。在我的项目中,我使用Hibernate而不是JPA。


好的,这不会引起任何兼容性问题吗? - Alvin Baena

0

你的DAO应该是基于接口的,这意味着实现是可以随意修改的选择,只需插入新的实现即可。客户端只需要知道DAO接口。

如果这是正确的,那么我不明白你的问题。你的DAO就是接口;JPA将是你在众多实现中选择的一种。这不是非此即彼,而是接口/实现。


1
你做的事情让我更加清楚了,因为我原本打算使用接口来暴露服务,但是我以为DAO是实现而不是模式。 - Alvin Baena

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接