我用mysql-connector-java 6.0.5
和嘗試過其他版本(嘗試了所有5.1。*)Java的MySQL連接不正確返回表中的行與JOIN子句
@Query(value = "select c.* from sub_object c,connectSectionAndSubobject tr where tr.sectionID = 'something'"
,nativeQuery = true)
List<SubObjectEntity> findEntity();
它可以從MySQL工作臺不錯,但是從java代碼結果總是一個空的resultSet。 如果我看看ResultSet,我可以看到ResultSet.invalidRowReason =「空結果集上的非法操作」。 但如果我嘗試的executeQuery喜歡這一切工作不錯:
@Query(value = "select c.* from sub_object c,connectSectionAndSubobject tr where tr.objectID = 1"
,nativeQuery = true)
表被這個查詢創建:
CREATE TABLE IF NOT EXISTS
connectSectionAndSubobject
(subobjectID
INT(11)NOT NULL,sectionID
varchar(15)COLLATE utf8_bin NOT NULL )ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_bin;
我試圖將tr.sectionID = 'something'
更改爲tr.sectionID LIKE 'something'
但也失敗了。 我不明白它應該如何工作。請問你能幫幫我嗎?
應該'東西'是您的查詢參數? – Igorovics
是的,當然,但不是現在,在第一個我想找到正確的方式來執行此查詢。問題是,因爲本機查詢不如MySQL Workbench中的那麼好。 –
感謝您的審查 –