我用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中的那么好。 –
感谢您的审查 –