JPA集成QueryDsl,以及自定义存储库注意事项,和使用中的区别比较
关于数据库层框架,主要是Mybatis和JPA(主要是Springdata JPA),这里简单记录下自己使用过程中的小问题
这里就不介绍,关于Jar的引入,Model和表的映射处理,以及主键,是否外键的选择了
一、常见的继承关系和使用区别
这里是可以使用specification实现单表的动态条件,拼接,很是方便
只是比上面那个,少了动态条件的拼接,所以,一般使用上面那个
二、引入公共Repo
- 要注意的地方
- 注解,还有泛型的问题(都容易导致启动报错,关于repo的)
- 还有model主键的问题,因为我规范了,所有的model主键类型为Long,才会这么用
三、也可以自定义存储库,两种方式引入
第一种,不继承,当要使用时,使用@resource 注入即可
第二种,继承方式引入,这样注入更方便,只需注入一个Repo,比较简洁
这样引入更方便,其实我之前也遇到过关于自定义存储库(继承方式的引入)启动报错,关于命名的问题,反正要小心为是。
最后,把各个Repo的关系图发出来,可能会清晰些
关于 @NoRepositoryBean
确保添加了该注解的 repository 接口不会在运行时被创建实例。
也就是说,使用了该注解的接口不会被单独创建实例,只会作为其他接口的父接口而被使用。