隨記Spring Data JPA的幾個坑
前篇
No.1:之前專案中hibernate對Integer引數注入String型別值進行模糊查詢,並不會丟擲異常。最近接觸Spring Data JPA在寫demo的過程中發現JPA對Integer的模糊查詢支援比較差,無論是簡單查詢還是複雜查詢均不支援。
注:equal無影響,仍可使用String引數注入
No.2:自定義介面方法中,屬性有幾個,則引數要有幾個。
注意:多了也不行
No.3:檢視JpaRepository具體實現類可發現在repository層已加事務,但是如何在service層控制事務?:
@Transactional
public <S extends T> S save(S entity) {
if(this.entityInformation.isNew(entity)) {
this.em.persist(entity);
return entity;
} else {
return this.em.merge(entity);
}
}
測試No.1
簡單查詢(zipCode是Integer型別):
複雜查詢(假設sex也是zipCode):
equal:
mysql:
測試No.2
兩個屬性,一個引數
兩個屬性,兩個引數
兩個屬性,三個引數
測試No.3(測試原因是因為底層已有@Transactional)
正常操作結果會導致資料不回滾,正常插入
增加@Transactional,則資料回滾
總結:
1.雖然說正常情況下Integer是不應該模糊查詢的,但是也許就有用到。當使用JPA開發專案時,可能需要模糊查詢的欄位,儘量用String。
- 嚴格按照Spring Data JPA規範
相關文章
- Spring Data JpaSpring
- Spring Data JPA之Spring Data JPA快速入門(三)Spring
- Spring Data JPA 的使用Spring
- Spring Data Jpa APISpringAPI
- Spring Data JPA:解析CriteriaBuilderSpringUI
- Spring Data JPA:解析CriteriaQuerySpring
- spring data jpa查詢Spring
- 瞭解 Spring Data JPASpring
- spring data jpa 小結Spring
- Spring Data JPA中TransactionInterceptorSpring
- Spring Boot:整合Spring Data JPASpring Boot
- Spring Data JPA原始碼案例Spring原始碼
- Spring Data JPA:解析SimpleJpaRepositorySpring
- Spring Data JPA簡單使用Spring
- Spring Data JPA REST Query CriteriaSpringREST
- JPA/Hibernate/Spring Data概念Spring
- Spring Data JPA 詳盡指南Spring
- spring data jpa 常見用法Spring
- Spring Data JPA的簡單入門Spring
- @Query註解的用法(Spring Data JPA)Spring
- Spring Boot with Spring Data JPA (1) - ConceptSpring Boot
- 一文搞定 Spring Data JPASpring
- SpringBoot整合Spring Data JPASpring Boot
- Spring Data JPA 參考文件三Spring
- Spring-Data-JPA criteria 查詢Spring
- 提高Spring Data JPA應用程式的效能Spring
- springboot(五):spring data jpa的使用Spring Boot
- 【Spring技術棧】初識Spring Data JPASpring
- Spring Boot (五)Spring Data JPA 操作 MySQL 8Spring BootMySql
- Spring Data JPA專案實戰(下)Spring
- Spring Data JPA中ConfigurableTransactionManagerSpring
- Spring Data JPA中事務ReactiveTransactionManagerSpringReact
- Spring Data JPA 在 @Query 中使用投影的方法Spring
- Jenkins搭建的幾個坑記下Jenkins
- Spring Data JPA 實現聯表查詢Spring
- 使用Spring Data Jpa遇到問題彙總Spring
- spring-data-jpa使用快取的注意事項Spring快取
- spring data JPA 模糊查詢 --- 使用 LIKE --- 的寫法Spring