【发布时间】:2014-02-19 02:17:31
【问题描述】:
所以在 MySQL 中,NULL != NULL。因此,如果您编写如下查询:
SELECT id, city, last_updated, street_address, zipcode, state_id FROM addresses WHERE street_address = null
即使您有一个 street_address 为空的列,您也会得到 0 行。
EclipseLink 正在生成此 SQL:
[EL Fine]: 2014-01-27 18:07:38.388--ServerSession(2079453576)--Connection(1753616363)--Thread(Thread[Default JMS Resource Adapter-worker- - 3,5,main])--SELECT id, city, last_updated, street_address, zipcode, state_id FROM addresses WHERE (street_address = ?)
bind => [null]
它永远不会匹配任何东西。如何让 EclipseLink 使用:is null 而不是 = null?
编辑:
感谢您的回答,但如果您阅读了我的问题,我已经知道查询 IS NULL... 但我的查询总是查询 null。我在问您如何让 EclipseLink 自动生成该 SQL?例如,如果我有一个命名查询,并且我将参数设置为 null,我如何让 EclipseLink 生成 IS NULL 而不是 = NULL
【问题讨论】:
标签: java mysql jakarta-ee jpa eclipselink