Java後臺開發學習(4)——Spring Data Jpa

JPA

Java Persistence API,中文名Java持久層API,是JDK 5.0註解或XML描述對象—關係表的映射關係,並將運行期的實體對象持久化到數據庫中。數據庫

JPA包括如下3方面技術:bash

ORM映射元數據

元數據描述對象和表之間的映射關係,框架據此將實體對象持久化到數據庫表中。框架

如:@Entity、@Table、@Column、@Transient等註解dom

API

用來操做實體對象。執行CRUD操做。spa

查詢語言

經過面向對象而非面向數據庫的查詢語言查詢數據,避免程序的SQL語句緊密耦合。code

Repository

@Repository:會被做爲持久層操做(數據庫)的bean來使用cdn

創建entity:對象

@Data
@Document(collection = "team")
public class Team {

    @NotNull
    @Id
    @Field("team_id")
    private String teamId = UUID.randomUUID().toString();

    @NotNull
    @Field("team_name")
    private String teamName;

    @NotNull
    @Field("creator")
    private String creatorId;

    @NotNull
    @Field("member_id")
    private HashSet<String> memberId;

}複製代碼

聲明TeamRepository接口,繼承MongoRepository(由於項目用MongoDB)
blog

@Repository
public interface TeamRepository extends MongoRepository<Team, String> {

    Team findByTeamId(String teamId);

    @Query("{'member_id': {$elemMatch: {$in: [?0]}}}")
    List<Team> findAllByMemberId(String userId);

}複製代碼

自定義查詢


自定義的簡單查詢就是根據方法名來自動生成SQL,主要的語法是findXXBy,readXXBy,queryXXBy,countXXBy, getXXBy後面跟屬性名稱。
繼承

相關文章
相關標籤/搜索