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

最近实训项目用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的话,千万要注意了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值