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

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

如何使用 SpringData 在字符串中以隨機(jī)順序在多個(gè) LIKE 中搜索單詞

如何使用 SpringData 在字符串中以隨機(jī)順序在多個(gè) LIKE 中搜索單詞

青春有我 2022-06-04 14:58:25
我有字符串“AlphaBetaZeta GammaTheta”(來自 MS SQL 數(shù)據(jù)庫(kù)的表字段),我需要使用具有許多類似的彈簧數(shù)據(jù)和隨機(jī)順序和關(guān)鍵字的隨機(jī)計(jì)數(shù)進(jìn)行搜索我正在嘗試搜索:findByLabelContaining(Collection<String> labels)findByLabelLike(Collection<String> labels)但這些不起作用。在數(shù)據(jù)庫(kù)中啟用全文搜索或使用彈性我不能,只有帶有本機(jī)接口方法或自定義 jpql-query 的 Spring-Data。SELECT id, labelFROM TABLE10WHERE label like '%gam%' AND      label like '%alpha%' AND      label LIKE '%theta%'SELECT id, labelFROM TABLE10WHERE label like '%alpha%' AND      label like '%theta%'和更多..
查看完整描述

1 回答

?
倚天杖

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

使用自定義本機(jī)查詢:


@Query(value = "SELECT id, label

FROM TABLE10

WHERE label like %?1%", native = true)

  List<User> findByLabel(String a);

https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#_using_advanced_like_expressions


如果您需要可變數(shù)量的參數(shù),則必須編寫自己的查詢:


@PersistenceContext

EntityManager entityManager;


@Override

public List<YourClass> findByLabelLike(List<String> labels) {

    String q = "SELECT id, label FROM TABLE10";


    for (String l : labels) {

       // Add where and ORs

    }


    Query query = entityManager.createNativeQuery(q, YourClass.class);

    int i = 0;

    for (String label : labels) {

          query.setParameter(++i, "%"+label+"%");

    }


    return query.getResultList();

}


查看完整回答
反對(duì) 回復(fù) 2022-06-04
  • 1 回答
  • 0 關(guān)注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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