Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用hibernate查询从电子邮件列表中筛选邮件域_Java_Mysql_Sql_Oracle_Hibernate - Fatal编程技术网

Java 如何使用hibernate查询从电子邮件列表中筛选邮件域

Java 如何使用hibernate查询从电子邮件列表中筛选邮件域,java,mysql,sql,oracle,hibernate,Java,Mysql,Sql,Oracle,Hibernate,我有一个emais数据列表,如abc@gmail.com,abc@yahoo.com,asd@gmail.com,asd@yahoo.com,sdf@gmail.com 现在我想过滤的电子邮件域列表为'gmail',所有的数据应该被过滤,并显示只有名单的gmail id的,而不是其他电子邮件id的 我的代码是: List<String> EmaiList = (List<String>) session.createQuery("select email from Use

我有一个emais数据列表,如
abc@gmail.com
abc@yahoo.com
asd@gmail.com
asd@yahoo.com
sdf@gmail.com

现在我想过滤的电子邮件域列表为'gmail',所有的数据应该被过滤,并显示只有名单的gmail id的,而不是其他电子邮件id的

我的代码是:

List<String> EmaiList = (List<String>) session.createQuery("select email from UserDto where email like :lk and type" +
                        (isMailStuff ? " in (:mailTypes)" : " not in (:mailTypes)"))
                        .setString("lk", partEmail + "%")
                        .setParameterList("mailTypes", UserType.mailTypes)
                        .list();
List EmaiList=(List)session.createQuery(“从UserDto选择电子邮件,其中电子邮件类似于:lk并键入”+
(isMailStuff?“in(:mailTypes)”:“notin(:mailTypes)”)
.setString(“lk”,partEmail+“%”)
.setParameterList(“mailTypes”,UserType.mailTypes)
.list();
在这段代码中,我将isMailStuff设置为“true”。现在我可以过滤gmail列表,但在某些地方我可以看到其他邮件id,比如yahoo邮件id

你能告诉我这个查询需要做什么修改吗

问候,, 拉维


如果将
setString
更改为此

.setString("lk", "%" + partEmail + "%")

如果
partEmail
的值为
@gmail
,它将返回包含模式
@gmail

的电子邮件列表:-我在hibernate上非常差..我可以知道在哪里添加此代码吗?如果我将partEmail输入为“a”,它应该显示包含字母“a”的邮件id(gmail)列表。在这种情况下,上述设置管柱不起作用。关于它,你能有其他的想法吗。
上面的设置字符串不起作用了
?它将返回所有包含
a
的电子邮件。。是吗?是的,Debojit,它返回的所有电子邮件列表都有“a”,这意味着它按预期工作。您定义了一个模式,它返回的电子邮件中包含该模式。这就是你想要的。。对吗?没有Debojit,我的要求是如果我输入“a”,所有的电子邮件(只有gmail)都应该显示出来。但如果其他电子邮件也包含像雅虎电子邮件id一样的“a”,则不应显示。我不能按gmail.com或yahoo.com这样的域名搜索,只能按abc、asd等域名前的名称搜索。
.setString("lk", "%" + partEmail + "%")