<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 一、概述 JPA誕生的是為了整合第三方ORM框架,建立一種標準的方式; 我們可以認為JPA是標準,是一套規范,JPA幾乎都是接口,Hibernate是實現技術。 ## 二、spring-data-jpa Spring-data-jpa,是Spring與JPA的整合技術; >[danger] 使用它無須自己實現自定義JpaRepository接口的實現類,而是僅僅定義自定義的繼承自JpaRepository的接口即可;使用的時候,通過@Autowired自動裝配; > 為什么要這么做呢?原因是:spring-data-jpa提供基礎的CRUD工作,同時也提供業務邏輯的功能,所以我們的自定義Repository接口要做兩項工作,繼承spring-data-jpa提供的基礎CRUD功能的接口,比如JpaRepository接口,同時自己還需要定義自己的方法,那么導致的結局就是自己的接口中有很多的方法,那么如果我們的接口實現類中實現自定義Repository接口,導致的后果就是我們勢必需要重寫里面的所有方法,這是Java語法的規定,如此一來,悲劇就產生了,接口實現類里面我們有很多的@Override方法,這顯然是不行的。 因此,Spring-data-jpa通過cglib動態代理的方式,解決了這個問題,我們不需要自己去實現這個接口了; ## 三、 默認CRUD方法 基本查詢也分為兩種,一種是 Spring Data 默認已經實現,一種是根據查詢的方法來自動解析成 SQL。 1、實體定義 ``` @Entity @Table(name="SYS_ACCESS") public class Access implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue private Long ACCESS_ID; private String SESSION_ID; private String ACCESS_TIME; private String ACCESS_IP; private String BROWSER_INFO; private String ACCESS_URL; private Long VERSION; private String DESC_CNT; //GET/SET } ``` > Entity 中不映射成列的字段得加 @Transient 注解,不加注解也會映射成列; > 2、Dao繼承 JpaRepository ``` public interface AccessDao extends JpaRepository<Access,Long>{ } ``` >[warning] 我們需要為每一個實體類都創建一個repository接口,我們自定義的repository接口都需要去繼承JpaRepository接口,以具有所有的數據層操作功能; > 2、使用默認方法 ``` @RequestMapping("/staff") public Access getString() { Access access = new Access(); access.setACCESS_IP("123"); accessDao.saveAndFlush(access); return access; } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看