Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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 JPA:JQL和SQL之间的差异_Java_Sql_Database_Jpa_Jql - Fatal编程技术网

Java JPA:JQL和SQL之间的差异

Java JPA:JQL和SQL之间的差异,java,sql,database,jpa,jql,Java,Sql,Database,Jpa,Jql,我只需要回答一个非常具体的问题: 例如: Customer c=(Customer)manager.createQuery(“从Customer c中选择c”).getResultList().get(0); 这段代码之所以有效,是因为使用了Java持久性查询语言 Customer c=(Customer)manager.createNativeQuery(“从客户限制1中选择*).getSingleResult(); 使用类似的代码和对客户的本机查询转换将不起作用,将引发ClassCa

我只需要回答一个非常具体的问题:

例如:


Customer c=(Customer)manager.createQuery(“从Customer c中选择c”).getResultList().get(0);

这段代码之所以有效,是因为使用了Java持久性查询语言


Customer c=(Customer)manager.createNativeQuery(“从客户限制1中选择*).getSingleResult();

使用类似的代码和对
客户的本机查询转换将不起作用,将引发
ClassCastException

这就引出了一个问题:
是否可以使用SQL从本机查询中创建对象作为结果?

我想您可以,看看for createNativeQuery(有两个参数的一个;我在链接方面遇到了问题)


只需将所需的类传递到createNativeQuery调用中……

我显然没有看到这个。这似乎比学习JQL更方便

但还有一个问题可能是一个潜在的陷阱:在某些情况下,您需要以大写字母输入字段名

我不能肯定,但你可以 遇到案件敏感问题 这在使用时非常常见 本机查询。JPA默认值字段 名称大写,如果您是 使用可能返回的数据库 字段名为小写,因为Java 字符串比较区分大小写 可能找不到该字段。这 将导致结果集返回 当它查找的值时为null “身份证”

引自


谢谢您的快速回答。

您应该将此作为一个单独的问题提问。这不是一个问题,只是一条附加信息,因为我一解决一个问题,就遇到了下一个问题。。。无论如何