Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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/0/jpa/2.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 org.jooq.Query.getBindValues()返回的列表是否包含每个查询参数的类型安全对象?_Java_Jpa_Types_Jooq - Fatal编程技术网

Java org.jooq.Query.getBindValues()返回的列表是否包含每个查询参数的类型安全对象?

Java org.jooq.Query.getBindValues()返回的列表是否包含每个查询参数的类型安全对象?,java,jpa,types,jooq,Java,Jpa,Types,Jooq,JOOQ的新成员。 我看到这篇文章: ` ` 方法jpaQuery.setParameter本身不是类型安全的,因为它接受“Object” 问题:jooqQuery.getBindValues是否返回每个参数类型安全的列表 该方法是博客作者编写的将jOOQ查询转换为JPA查询的粘合代码。此胶水代码中没有类型安全性。您正在寻找的类型安全性在本文的其他示例中提供,作者使用jOOQ API构建了类型安全查询,例如: //这东西是类型安全的 var jooqQuery= ctx.selectAUTHO

JOOQ的新成员。 我看到这篇文章:

`

`

方法jpaQuery.setParameter本身不是类型安全的,因为它接受“Object”


问题:jooqQuery.getBindValues是否返回每个参数类型安全的列表

该方法是博客作者编写的将jOOQ查询转换为JPA查询的粘合代码。此胶水代码中没有类型安全性。您正在寻找的类型安全性在本文的其他示例中提供,作者使用jOOQ API构建了类型安全查询,例如:

//这东西是类型安全的 var jooqQuery= ctx.selectAUTHOR.FIRSTNAME、AUTHOR.LASTNAME、BOOK.TITLE .作者 .leftJoinBOOK_AUTHOR.onAUTHOR.ID.eqBOOK_AUTHOR.AUTHORS_ID .leftJoinBOOK.onBOOK\u AUTHOR.BOOKS\u ID.eqBOOK.ID .whereAUTHOR.FIRSTNAME.likeThor%;
//这东西不是,也没有必要 Query q=em.createNativeQueryjooqQuery.getSQL; setBindParameterValuesq,jooqQuery;
这东西不是,也没有必要-这是什么意思?在这一点上,我们不需要担心类型安全性?在通过JOOQ DSLContext构建SQL时是否注意到了这一点?我真的不确定您在这里问什么,谢谢,因为您已经在中回答了。并接受您的回答:将打印绑定值的类型,例如整数、字符串、日期等。
SelectConditionStep<Record3<String, String, String>> jooqQuery = 
        ctx.select(AUTHOR.FIRSTNAME, AUTHOR.LASTNAME, BOOK.TITLE)
            .from(AUTHOR)
                .leftJoin(BOOK_AUTHOR).on(AUTHOR.ID.eq(BOOK_AUTHOR.AUTHORS_ID))
                .leftJoin(BOOK).on(BOOK_AUTHOR.BOOKS_ID.eq(BOOK.ID))
            .where(AUTHOR.FIRSTNAME.like("Thor%"));
Query q = em.createNativeQuery(jooqQuery.getSQL());
setBindParameterValues(q, jooqQuery);


private static void setBindParameterValues(javax.persistence.Query jpaQuery, org.jooq.Query jooqQuery) {
    List<Object> values = jooqQuery.getBindValues();
    for (int i = 0; i < values.size(); i++) {
        jpaQuery.setParameter(i + 1, values.get(i));
    }
}