Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Web应用程序:数据层的DAO和JPA_Java_Jpa_Dao - Fatal编程技术网

Java Web应用程序:数据层的DAO和JPA

Java Web应用程序:数据层的DAO和JPA,java,jpa,dao,Java,Jpa,Dao,我正在尝试建立一个安全的登录,以防止使用SQLInjection,但对于我的应用程序的其他部分,我考虑使用JPA,但我不知道使用混合是一种好的做法,还是我应该坚持在所有数据层使用DAO并保持一致 我还想知道在运行时同时使用JPA和DAO是否会导致兼容性问题 谢谢最好的方法是您可以使用DAO进行安全登录哈希。您的应用程序的其余部分可以使用JPA。在我的项目中,我使用Hibernate而不是JPA。这是关于在使用JPA时使用DAO层是否有意义的讨论的答案 我认为对任何数据访问逻辑(例如登录)都有相

我正在尝试建立一个安全的登录,以防止使用SQLInjection,但对于我的应用程序的其他部分,我考虑使用JPA,但我不知道使用混合是一种好的做法,还是我应该坚持在所有数据层使用DAO并保持一致

我还想知道在运行时同时使用JPA和DAO是否会导致兼容性问题


谢谢

最好的方法是您可以使用DAO进行安全登录哈希。您的应用程序的其余部分可以使用JPA。在我的项目中,我使用Hibernate而不是JPA。

这是关于在使用JPA时使用DAO层是否有意义的讨论的答案


我认为对任何数据访问逻辑(例如登录)都有相同的应用程序,您的DAO应该基于接口,这意味着实现是一种选择,您可以通过插入新的实现来随意修改。客户机应该只知道DAO接口


如果这是正确的,那么我不理解你的问题。您的DAO是接口;JPA将是您在众多实现中选择的一个实现。不是非此即彼;它是接口/实现。

好的,这不会导致任何兼容性问题吗?所以我应该只使用DAO进行身份验证,而使用JPA进行其余操作,因为使用自定义查询要容易得多。如上文所述,如果您的数据访问逻辑只涉及调用EntityManager的crud方法,我认为不包括DAO是好的,在这种情况下,DAO只是EntityManager的包装,没有任何附加值。好的,我现在明白了,你是对的,我应该只使用JPA。谢谢你的澄清。好吧,你说得很清楚,“更清楚”,因为我打算使用接口来公开服务,但我认为DAO是实现而不是模式。