您的位置:首页 > 编程语言 > Java开发

Spring学习——关于Spring jpa data遇到的坑

2017-09-26 16:53 190 查看
最近实训项目用JavaEE写后台,感觉Spring已经很强大了。在以前用过一段时间 的Sping的JdbcTemplate做数据访问层接口,但总感觉封装得不够好,用起来感觉就像是简单地把jdbc用面向对象封装了一层,用起来很不顺手,于是就转到了Spring jpa data上来了,这次项目,数据访问层的底层主要用Hibernate,然后用Spring jpa去封装Hibernate,开始用起来还是很舒服的,Spring jpa data用接口的方法命名来提供对数据库的操作逻辑,并且Spring
jpa data实现了类似于MyBatis的动态代理,但在封装上比MyBatis更深入一层,Spring jpa data不需要写接口实现,也不需要写任何关于sql操作代码,仅仅通过接口的方法命名就可以实现操作逻辑,这是很令人兴奋的,比如想根据用户名来查询一个用户对象,就可以给命名为findByUsername(String username)。但后来遇到了一个大坑,这也是这篇blog的要说明的问题,就是在类似于findByUsername这种接口方法命名的时候,如果把实体类的属性名用下划线的话,Spring
jpa data将不能识别,比如命名为findByUser_name,这样,Spring jpa data是会把这个方法名解析成通过user属性来查询一个用户对象,所以大家在用Spring jpa data的时候一定要注意,如果到项目的中后期再来改属性名的话,就会很麻烦。反正这个坑点是把我坑惨了的,虽然有Intellij Idea来做全局替换,但还是出了很多问题,搞了很久才最后把项目搞好,只能说是自己当时没注意到这个坑点吧,看了这篇blog的blog友如果正准备用Spring jpa data的话,千万要注意了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: