SpringBoot JPA实践之小技巧汇总

JPA小技巧
placeholder image
admin 发布于:2020-05-01 23:35:18
阅读:loading

JPA Hibernate相关的API文档地址

https://docs.jboss.org/hibernate/orm/6.0/userguide/html_single/Hibernate_User_Guide.html

https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/chapters/query/native/Native.html(提供了非常详细的关于原生SQL的查询使用)

https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/chapters/query/hql/HQL.html


Repository的三种定义方式

① 使用本系列文章中的BaseRepository,统一使用全部集成后的Repository,方便记忆;

② 直接使用集成的具体父类的形式;

③ 如不需要继承相关父类,可直接使用@RepositoryDefinition指定;


Hibernate提供StandardTypes类型定义

org.hibernate.type package包中定义的类,与JDBC Type、Java Type对应的类型参考地址为:https://docs.jboss.org/hibernate/orm/6.0/userguide/html_single/Hibernate_User_Guide.html#basic


JPA原生SQL提供内置的变量

{h-schema}、{h-domain}、${h-catalog}、#{#entityName},同时可在该文件中定义一些全局的变量,类似{h-schema},且支持spel表达式。


JPA使用@Query的动态排序

① 使用@Query注解可在SQL中增加若干固定排序字段的实现,但是涉及动态排序部分的实现不再像使用动态参数的方式实现,同时引用变量的时候也没有提供一种字符串替换的方案;

② 可以在Repository的函数中增加Sort对象(用于不带分页的应用场景);

③ 当使用@Query于分页时的场景时需要在Pageable中设置Sort动态排序的对象;

④ Repository的函数不支持Sort与Pageable并存的情况;


JPA查询字段返回大文本Clob类型、枚举类型、二进制Blob文件流类型;


JPA符合主键;


JPA内置较多SQL函数,可以调用SQL的function、procedure等;


@Locking 锁机制


@Version 版本机制


JPA Named查询将SQL定义至xml文件中


 点赞


 发表评论

当前回复:作者

 评论列表


留言区