久久久久久AV无码免费看大片,亚洲一区精品人人爽人人躁,国产成人片无码免费爱线观看,亚洲AV成人无码精品网站,为什么晚上搞的时候要盖被子

@Query注解

時(shí)間:2020-04-12 22:32:34 類型:JAVA
字號(hào):    

  @Query注解

  @Query注解使用起來(lái)很簡(jiǎn)單,默認(rèn)的屬性是value,就是當(dāng)前寫的SQL語(yǔ)句,有時(shí)會(huì)用到nativeQuery屬性,這個(gè)屬性是用來(lái)標(biāo)記當(dāng)前的SQL是本地SQL,還是符合JPA語(yǔ)法規(guī)范的SQL。這里需要解釋一下本地SQL和JPA語(yǔ)法規(guī)范的SQL區(qū)別。

  本地SQL,是根據(jù)實(shí)際使用的數(shù)據(jù)庫(kù)類型寫的SQL,這種SQL中使用到的一些語(yǔ)法格式不能被JPA解析以及可能不兼容其他數(shù)據(jù)庫(kù),這種SQL稱為本地SQL,此時(shí)需要將nativeQuery屬性設(shè)置為true,否則會(huì)報(bào)錯(cuò)。

  JPA語(yǔ)法規(guī)范的SQL,往往這種SQL本身是不適用于任何數(shù)據(jù)庫(kù)的,需要JPA將這種SQL轉(zhuǎn)換成真正當(dāng)前數(shù)據(jù)庫(kù)所需要的SQL語(yǔ)法格式。

  注意:JPA很好的一個(gè)特性就是用JPA語(yǔ)法規(guī)范寫的SQL,會(huì)根據(jù)當(dāng)前系統(tǒng)使用的數(shù)據(jù)庫(kù)類型改變生成的SQL語(yǔ)法,兼容數(shù)據(jù)庫(kù)類型的切換,如之前使用的是MySQL,現(xiàn)在換成Oracle,由于不同類型的數(shù)據(jù)庫(kù),SQL語(yǔ)法會(huì)有區(qū)別,如果使用的是mybatis,就需要手動(dòng)去改SQL兼容Oracle,而JPA就不用啦,無(wú)縫對(duì)接。

  說明:很大的時(shí)候使用JPA感覺都是為了兼容后期可能會(huì)有數(shù)據(jù)庫(kù)切換的問題,所以在使用JPA的時(shí)候,不要去使用本地SQL,這就違背了使用JPA的初衷,讓nativeQuery屬性保持默認(rèn)值就可以啦!


<