SpringBoot JPA实践之小技巧汇总
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内置较多SQL函数,可以调用SQL的function、procedure等;
@Locking 锁机制
@Version 版本机制
关于CLob字段的存储、关于自定义function、封装NamedParameterJdbcTemplate兼容JPA的JPQL写法等
JPA Named查询将SQL定义至xml文件中
你可能感兴趣的:
-
0 -
0 -
0 -
0 -
0