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

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

Spring Boot H2 數(shù)據(jù)轉(zhuǎn)換

Spring Boot H2 數(shù)據(jù)轉(zhuǎn)換

慕村225694 2022-06-04 09:18:40
Spring Boot 版本:2.1.2.RELEASEH2 版本:1.4.197通過 JpaRepository 查詢:@Repositorypublic interface PlayerStorage extends JpaRepository<Player, Long> {  List<Player> findByUid(@Param("uid") List<Integer> uid);}...List<Player> foundByUids = playerStorage.findByUid(Arrays.asList(100, 200));Spring 生成并執(zhí)行查詢:Data conversion error converting "(100, 200)"; SQL statement:select        player0_.id as id1_3_,        player0_.uid as uid3_3_     from        player player0_     where        player0_.uid=(100 , 200)[22018-197]...Caused by: java.lang.NumberFormatException: For input string: "(100, 200)"at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)at java.lang.Integer.parseInt(Integer.java:569)at java.lang.Integer.parseInt(Integer.java:615)at org.h2.value.Value.convertTo(Value.java:1061)H2 說:DATA_CONVERSION_ERROR_1 = 22018The error with code 22018 is thrown when trying to convert a value to a data type where the conversion is undefined, or when an error occurred trying to convert.Example:CALL CAST(DATE '2001-01-01' AS BOOLEAN);CALL CAST('CHF 99.95' AS INT);如果我嘗試直接從 H2 Web 控制臺(tái)執(zhí)行此查詢,我會(huì)得到相同的結(jié)果。如果我做對(duì)了,問題就出在聲明中:player0_.uid=(100 , 200). 與in 相同的查詢player0_.uid in (100 , 200)可以從 Web 控制臺(tái)正常執(zhí)行。我也有 H2 的彈簧靴屬性:spring.datasource.driver-class-name=org.h2.Driverspring.jpa.database=H2spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
查看完整描述

2 回答

?
眼眸繁星

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

錯(cuò)誤可能在存儲(chǔ)庫代碼中:


public interface PlayerStorage extends JpaRepository<Player, Long> {

  List<Player> findByUid(@Param("uid") List<Integer> uid);

}

從文檔中它應(yīng)該是:


public interface PlayerStorage extends JpaRepository<Player, Long> {

  List<Player> findByUidIn(@Param("uid") List<Integer> uid);

}

還:

  • 如果“uid”是 Player 中的字段,則不需要 @Param

  • @Repository 也是多余的

  • 我建議添加一些驗(yàn)證,以確保傳遞給方法的列表不為空,否則會(huì)導(dǎo)致異常。


查看完整回答
反對(duì) 回復(fù) 2022-06-04
?
Qyouu

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

嘗試將您的方法重命名為

List<Player> findByUidIn(@Param("uids") List<Integer> uids);


查看完整回答
反對(duì) 回復(fù) 2022-06-04
  • 2 回答
  • 0 關(guān)注
  • 174 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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