【发布时间】:2011-12-13 14:02:40
【问题描述】:
我正在尝试使用OWASP specification for hashing 进行安全登录以防止 SQLInjection,但对于我的应用程序的其他部分,我正在考虑使用 JPA,但我不知道使用混合,还是我应该坚持对所有数据层使用 DAO 并保持一致?
我也想知道同时使用 JPA 和 DAO 是否会导致运行时出现兼容性问题?
谢谢
【问题讨论】:
我正在尝试使用OWASP specification for hashing 进行安全登录以防止 SQLInjection,但对于我的应用程序的其他部分,我正在考虑使用 JPA,但我不知道使用混合,还是我应该坚持对所有数据层使用 DAO 并保持一致?
我也想知道同时使用 JPA 和 DAO 是否会导致运行时出现兼容性问题?
谢谢
【问题讨论】:
这是关于在使用 JPA 时使用 DAO 层是否有意义的讨论的答案。
How should EntityManager be used in a nicely decoupled service layer and data access layer?
我认为这同样适用于任何数据访问逻辑(例如登录)
【讨论】:
最好的方法是您可以使用 DAO 来实现安全登录哈希目的。您的应用程序的其余部分可以使用 JPA。在我的项目中,我使用的是 Hibernate 而不是 JPA。
【讨论】:
您的 DAO 应该是基于接口的,这意味着您可以通过插入新的实现来随意修改实现。客户端应该只知道 DAO 接口。
如果这是正确的,那么我不明白你的问题。你的 DAO 就是接口; JPA 将是您在众多实现中选择的一种。不是非此即彼;它是接口/实现。
【讨论】: