目錄
1.實體類上
2.dao層
3.jpa命名查詢
案例:recruitservice
recruitdao
4.jpa的@query註解查詢用法
problemdao
@query進行修改
articleservice
articledao
@entity 用於實體類之上,與@table(name="tablename")一起使用,將實體類對映資料庫
@id用於表id欄位,單錶用乙個@id,中間表聯合主鍵,都需要標上@id,在實體類上還要標明@idclass(pl.class)
例子:@column用於字段,預設資料庫欄位名和實體類變數名一致時可以不加
/**
* 問題標籤中間表實體
*/@entity
@table(name = "tb_pl")
@idclass(pl.class) // @idclass: @id屬性所在的類
public class pl implements serializable
public void setproblemid(string problemid)
public string getlabelid()
public void setlabelid(string labelid)
}
實現jparepository,jpaspecificationexecutor
/**
* 資料訪問介面
* @author administrator
* */
public inte***ce articledao extends jparepository,jpaspecificationexecutor
呼叫dao層可以實現介面內定義好的方法。見名知意
equals/is(可以省略)
<>
not
>
greaterthan
>=
greaterthanequals
<
lessthan
<=
lessthanequals
like
like
limit 0,4
top4 (查詢前面幾條)
order by
orderby ( asc/desc)
/**
* 推薦職位
* @return
*/public listrecommend()
/**
* 推薦職位
* @return
*/listfindtop4bystateorderbycreatetimedesc(string s);
/**
* 最新問答
* @param labelid
* @param pageable
* @return
*/@query(" select p from problem p where p.id in (select pl.problemid from pl pl where pl.labelid = ?1) order by p.replytime desc")
public pagefindnewlistbylabelid(string labelid, pageable pageable);
修改時service必須加上@transactional註解
/**
* 文章審核
* @param articleid
*/@transactional //更新操作,所以要加上事務註解
public void examine(string articleid)
修改時dao層必須加上@modifying
/**
* 文章審核
** @param articleid
*/@modifying //更新操作
@query("update article article set article.state = '1' where id =?1")
public void examine(string articleid);
Spring Data JPA 學習筆記(一)
spring data jpa 是基於orm框架,jpa規範的封裝的一套jpa應用框架,可使開發者用極簡的 即可實現對資料的訪問和操作。它提供了包括增刪改查等在內的常用功能,且易於擴充套件!spring data jpa提供的常用程式設計介面 repository 最頂層的乙個介面,是乙個空介面,目...
Spring Data JPA實踐與學習(四)
spring data jpa 為了方便我們排序和分頁,支援了兩個特殊型別的引數 sort 和 pageable。sort 在查詢的時候可以實現動態排序,我們看下其原始碼 public sort direction direction,string.properties sort 裡面決定了我們哪些...
Spring Data JPA實踐與學習(九)
實體與實體之間的關聯關係一共分為四種,分別為onetoone onetomany manytoone 和 manytomany 而實體之間的關聯關係又分為雙向的和單向的。實體之間的關聯關係是在 jpa 使用中最容易發生問題的地方。entity data builder allargsconstruc...