Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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
Javascript 如何将Json数组传递给IN运算符的JPQL Where子句?_Javascript_Java_Mysql_Hibernate_Jpa - Fatal编程技术网

Javascript 如何将Json数组传递给IN运算符的JPQL Where子句?

Javascript 如何将Json数组传递给IN运算符的JPQL Where子句?,javascript,java,mysql,hibernate,jpa,Javascript,Java,Mysql,Hibernate,Jpa,我有一个多下拉选择框,可以选择流派列表。我正在用JavaScript创建一个JSON数组,其中包含用户选择的所有类型&将它们传递给后端Java函数以绘制图形 Database : MySQL JavaScript: var items = {}; $(function() { $('#genres1').change(function() { console.log($(this).val()); items.genre

我有一个多下拉选择框,可以选择流派列表。我正在用JavaScript创建一个JSON数组,其中包含用户选择的所有类型&将它们传递给后端Java函数以绘制图形

Database : MySQL
JavaScript:

var items = {};

    $(function() {
        $('#genres1').change(function() {
            console.log($(this).val());
            items.genres = $(this).val();
        }).multipleSelect({
            width: '56%'
        });
    });

    var genres = items.genres.map(function(e){
              return JSON.stringify(e);
            });
        var selectedGenres = genres.join(", ");
        alert(selectedGenres); // Outputs : "Action", "Horror" and so on.... based on selection
爪哇:

我不知道如何将数组传递给查询

//List<String> selectedGenres = Arrays.asList("Action","Horror"); //Correct output
此硬编码值为我提供了正确的输出。当我传递selectedGenres数组时,该数组包含与上述输入操作完全相同的内容,但我没有得到首选输出。我还试图发送流派,因为它是作为一个参数,但它没有工作,虽然。我得到了空洞的回应。有人能纠正我哪里出了问题吗

List<String> selectedGenres = Arrays.asList(genre);
一些API说明:ArraySList接受字符串。。。vargs,其中每个参数都是用于创建实际列表的元素值

回到您的方法:您的输入参数是String-genre-a-String,而asList方法不知道该类型字符串实际上是一个数组,也不应该知道,并且它正确地完成了它的工作-在我们的例子中,在接收到单个元素字符串时,将创建一个一维列表

要解决此问题,您可能需要尝试以下选项之一:

如果字符串是JSON数组,请使用JSON解析库,例如 尝试用逗号分割输入类型,并将该数组转换回列表。
我试试这个。谢谢你的意见@Michael Arenzon
List<String> selectedGenres = Arrays.asList(genre);