- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我们有以下 JPQL:
Select distinct sys.ipAddress from SystemLog sys where sys.ipAddress is not null and sys.ipAddress is not empty
这会生成以下 mysql
语句。
select
distinct systemlog0_.ipAddress as col_0_0_
from
SystemLog systemlog0_
where
(
systemlog0_.ipAddress is not null
)
and (
exists (
select
systemlog0_.id
from
SystemLog systemlog0_
)
)
这显然不起作用并返回空字符串而不是省略它。但是,我正在寻找生成这样的东西:
select distinct ipAddress from SystemLog where ipAddress is not null and ipAddress <> '';
但是,我不明白为什么我们的 jpa 查询没有生成类似的东西。有任何想法吗?
最佳答案
我认为您在滥用 IS [NOT] EMPTY
用于检查集合关联路径 是否解析为空集合或至少具有一个值。来自 JPA 规范:
4.6.11 Empty Collection Comparison Expressions
The syntax for the use of the comparison operator IS EMPTY in an empty_collection_comparison_expression is as follows:
collection_valued_path_expression IS [NOT] EMPTY
This expression tests whether or not the collection designated by the collection-valued path expression is empty (i.e, has no elements).
Example:
SELECT o
FROM Order o
WHERE o.lineItems IS EMPTYIf the value of the collection-valued path expression in an empty collection comparison expression is unknown, the value of the empty comparison expression is unknown.
在我看来,你应该只使用 <>
比较运算符:
select distinct sys.ipAddress
from SystemLog sys
where sys.ipAddress is not null
and sys.ipAddress <> ''
关于java - 如何不选择空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3416130/
我正在尝试创建一个程序,其中字符串的前三个字符重复给定次数,如下所示: foo('Chocolate', 3) # => 'ChoChoCho' foo('Abc', 3) # => 'AbcAbcA
我有以下字符串: std::string str = "Mode:AAA:val:101:id:A1"; 我想分离一个位于 "val:" 和 ":id" 之间的子字符串,这是我的方法: std::st
DNA 字符串可以是任意长度,包含 5 个字母(A、T、G、C、N)的任意组合。 压缩包含 5 个字母(A、T、G、C、N)的 DNA 字母串的有效方法是什么?不是考虑每个字母表 3 位,我们可以使用
是否有一种使用 levenstein 距离将一个特定字符串与第二个较长字符串中的任何区域进行匹配的好方法? 例子: str1='aaaaa' str2='bbbbbbaabaabbbb' if str
使用 OAuth 并使用以下函数使用我们称为“foo”(实际上是 OAuth token )的字符串加密 key public function encrypt( $text ) { // a
我是一名优秀的程序员,十分优秀!