第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Spring Data JPA-如何通過(guò)方法名稱(chēng)組合多個(gè)And和Or

Spring Data JPA-如何通過(guò)方法名稱(chēng)組合多個(gè)And和Or

藍(lán)山帝景 2019-12-06 11:06:08
我正在嘗試遷移該應(yīng)用程序。我正在從Hibernate到Spring Data Jpa工作。盡管spring data jpa提供了用于構(gòu)建查詢(xún)的簡(jiǎn)單方法,但我仍然堅(jiān)持創(chuàng)建同時(shí)使用And和的查詢(xún)方法Or operator。方法名稱(chēng)- findByPlan_PlanTypeInAndSetupStepIsNullOrStepupStepIs(...)當(dāng)它轉(zhuǎn)換為查詢(xún)時(shí),前兩個(gè)表達(dá)式將合并并以形式執(zhí)行[(exp1 and exp2) or (exp3)]。而要求是](exp1) and (exp2 or exp3)]。任何人都可以讓我知道是否可以通過(guò)以下方式實(shí)現(xiàn) Spring data jpa?
查看完整描述

3 回答

?
翻過(guò)高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊

同意奧利弗關(guān)于長(zhǎng)且不可讀的方法名,但是盡管如此,并且為了論證,您可以通過(guò)使用等效性來(lái)獲得所需的結(jié)果


A /\ (B \/ C) <=> (A /\ B) \/ (A /\ C)

A and (B or C) <=> (A and B) or (A and C)

因此,在您的情況下,它應(yīng)如下所示:


findByPlan_PlanTypeInAndSetupStepIsNullOrPlan_PlanTypeInAndStepupStepIs(...)


查看完整回答
反對(duì) 回復(fù) 2019-12-06
?
楊魅力

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊

選項(xiàng)1:您可以使用命名查詢(xún)(請(qǐng)參閱使用JPA命名查詢(xún)):


@Entity

@NamedQuery(name = "User.findByEmailAddress",

  query = "select u from User u where u.emailAddress = ?1")

public class User {


}


public interface UserRepository extends JpaRepository<User, Long> {


   User findByEmailAddress(String emailAddress);

}

Option2:用于@Query編寫(xiě)您的自定義查詢(xún)(請(qǐng)參閱使用@Query)


public interface UserRepository extends JpaRepository<User, Long> {


   @Query("select u from User u where u.emailAddress = ?1")

   User findByEmailAddress(String emailAddress);

}


查看完整回答
反對(duì) 回復(fù) 2019-12-06
?
蕭十郎

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊

當(dāng)前是不可能的,將來(lái)也不會(huì)。我認(rèn)為即使有可能,對(duì)于更復(fù)雜的查詢(xún),您也不想人為地將所有查詢(xún)復(fù)雜性壓縮為方法名稱(chēng)。不僅因?yàn)殡y以理解查詢(xún)中實(shí)際發(fā)生的事情,而且還因?yàn)閺目蛻?hù)端代碼的角度出發(fā):您想要使用可表達(dá)的方法名稱(chēng),在簡(jiǎn)單的情況下,findByUsername(…)您可以使用它來(lái)創(chuàng)建查詢(xún)。

對(duì)于更復(fù)雜的內(nèi)容,您只需將查詢(xún)復(fù)雜度提高到調(diào)用代碼中,建議改為使用可讀的方法名稱(chēng),該名稱(chēng)以語(yǔ)義方式表達(dá)查詢(xún)的作用,并使用@Query,命名查詢(xún)等將查詢(xún)復(fù)雜度保留在手動(dòng)聲明的查詢(xún)中。


查看完整回答
反對(duì) 回復(fù) 2019-12-06
  • 3 回答
  • 0 關(guān)注
  • 3547 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)