Web应用程序:数据层的DAO和JPA
我正在尝试使用 OWASP 哈希规范 进行安全登录,以防止 SQLInjection对于我的应用程序的其他部分,我正在考虑使用 JPA,但我不知道使用混合是否是一个好的做法,或者我应该坚持对所有数据层使用 DAO 并保持一致?
我还想知道同时使用 JPA 和 DAO 是否会导致运行时的兼容性问题?
谢谢
I'm trying to make a secure login that prevents SQLInjection using the OWASP specification for hashing but for the other parts of my application I'm thinking of using JPA, but I don't know if it's a good practice to use a hybrid, or I should just stick to using DAO for all the data layer and keep it consistent?
I'd also like to know if using both JPA and DAO causes compatibility problems at runtime?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是对有关在使用 JPA 时使用 DAO 层是否有意义的讨论的回答。
EntityManager应该如何在很好解耦的服务层和数据访问层中使用?
我认为这同样适用于任何数据访问逻辑(例如登录)
This is an answer on a discussion about whether it makes sense to use a DAO layer when working with JPA.
How should EntityManager be used in a nicely decoupled service layer and data access layer?
I think the same aplies to any data access logic (e.g. login)
最好的方法是您可以使用 DAO 来实现安全登录哈希目的。应用程序的其余部分您可以使用 JPA。在我的项目中,我使用 Hibernate 而不是 JPA。
Best way is you can use DAO for secure login hashing purpose.Rest of your application you can use JPA.in my project i am using Hibernate instead of JPA.
您的 DAO 应该是基于接口的,这意味着您可以通过插入新的实现来随意修改实现。客户端应该只知道 DAO 接口。
如果这是正确的,那么我不明白你的问题。你的 DAO 是接口; JPA 将是您在众多实现中选择的一种。这不是非此即彼;它是接口/实现。
Your DAO ought to be interface-based, which means that the implementation is a choice that you can modify at will by plugging in a new implementation. Clients should only know about the DAO interface.
If this is correct, then I don't understand your question. Your DAO is the interface; JPA will be one implementation you choose among many. It's not either/or; it's interface/implementation.