spring-jpa中我們要將sql對映到物件,尤其是在spring boot這種高度自動化的環境下使用,大量的最優目錄結構與命名規則可以大大降低配置,約定大於配置貫穿其中。例如我們定義查詢dao,繼承jparepository即可。然後返回的物件,我們可以定義model:
@entity
@table(name = 「user_tab_name」)
class user extends baseuser
這裡@entity讓@entityscan能夠掃瞄到,可以指定名字,@table也可以不指定,預設為user表,標準命名規則,駝峰轉換全小寫下劃線。
@enablejparepositories可以指定dao的包路徑。啟動spring老是報錯,說是build entitymanager錯誤,後來發現是model裡面定義的不對,model裡面完整定義:
@entity
@table("user_tab_name")
class
user
extends
baseuser
發現是我註解不對,但是報出的異常資訊實在模糊,博主也是查的很苦,實體manager不能建立,已定要確認是否是model定義問題。然後我的user是要繼承抽象類的,但是我如果把字段放抽象類,也會報找不到model.後來去stackoverflow找到解決方案:
using @inheritance
@entity
@table(name="test")
@inheritance(strategy=inheritancetype.single_table)
public
class
test
@entity
public
class
extendedtest
extends
test
public
class
test
@entity
public
class
extendedtest
extends
test
第一種方法無效,第二種方法搞定。 SpringData JPA分頁查詢
首先我們需要知道springdata jpa 的幾個介面 其實看名字就大概懂了,也可以很方便的使用 首先我們的持久化層繼承jparepository,相當於繼承了增刪改查的持久化層以及分頁查詢的持久化層 所以如果我們要使用分頁查詢 我們只需要直接呼叫 由一開始的圖也可以看到pageable的其中乙個...
springData Jpa簡單查詢
一 介面方法整理速查 下表針對於簡單查詢,即jparepository介面 繼承了crudrepository介面 pagingandsortingrepository介面 中的可訪問方法進行整理。1 先按照功能進行分類整理,分為儲存 刪除 查詢單個 查詢多個 其他5類。2 再將不建議使用的方法置灰...
Spring Data JPA 查詢規範
spring data jpa 查詢規範 按照 spring data 的規範,查詢方法以findby readby getby開頭 例如 定義乙個 entity 實體類 class user private string firstname private string lastname 使用an...