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

ahiru?發表於2018-12-12

JPA

Java Persistence API,中文名Java持久層API,是JDK 5.0註解或XML描述物件—關係表的對映關係,並將執行期的實體物件持久化到資料庫中。

JPA包括以下3方面技術:

ORM對映後設資料

後設資料描述物件和表之間的對映關係,框架據此將實體物件持久化到資料庫表中。

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

API

用來操作實體物件。執行CRUD操作。

查詢語言

通過物件導向而非面向資料庫的查詢語言查詢資料,避免程式的SQL語句緊密耦合。

Repository

@Repository:會被作為持久層操作(資料庫)的bean來使用

建立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)

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

    Team findByTeamId(String teamId);

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

}複製程式碼

自定義查詢

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

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

相關文章