Java JPA,查询提示是否特定于供应商?

Java JPA,查询提示是否特定于供应商?,java,jpa,jakarta-ee,Java,Jpa,Jakarta Ee,是否可以使用JPA-供应商中立-查询提示?在我在谷歌搜索查询提示的过程中,每次提到它都是一个特定于供应商的查询提示 从: 设置查询属性或提示。提示元素可用于 指定查询属性和提示。此定义的属性 供应商必须遵守规范。特定于供应商的提示 提供程序无法识别的内容必须以静默方式忽略。 便携式应用程序不应依赖于标准超时提示。 取决于所使用的数据库和所使用的锁定机制 对于提供程序,此提示可能会被观察到,也可能不会被观察到 我不确定我是否正确理解了这一点。这是否意味着存在与供应商无关的查询提示?如果是,我在哪里

是否可以使用JPA-供应商中立-查询提示?在我在谷歌搜索查询提示的过程中,每次提到它都是一个特定于供应商的查询提示

从:

设置查询属性或提示。提示元素可用于 指定查询属性和提示。此定义的属性 供应商必须遵守规范。特定于供应商的提示 提供程序无法识别的内容必须以静默方式忽略。 便携式应用程序不应依赖于标准超时提示。 取决于所使用的数据库和所使用的锁定机制 对于提供程序,此提示可能会被观察到,也可能不会被观察到


我不确定我是否正确理解了这一点。这是否意味着存在与供应商无关的查询提示?如果是,我在哪里可以找到描述这些的列表?

根据Eclipse网站上的文章()查询提示是特定于供应商的

Eclipse声明:“查询提示的定义是特定于供应商的。以下部分描述JPA查询提示和EclipseLink查询提示”

本文继续介绍两种类型的查询提示(JPA和EclipseLink)的具体实现细节

对Apache网站()的进一步研究似乎证实了查询提示是特定于供应商的

第1.8节查询提示

“忽略特定数据库无法处理或OpenJPA未知的提示。OpenJPA已知但提供了不兼容值的提示将导致引发IllegalArgumentException。”


根据我所阅读的内容以及您在问题中所链接的内容,我不认为存在“供应商中立”的查询提示。预期的行为是,如果供应商不支持指定的查询提示,它将被忽略

根据Eclipse网站()上的文章,查询提示是特定于供应商的

Eclipse声明:“查询提示的定义是特定于供应商的。以下部分描述JPA查询提示和EclipseLink查询提示”

本文继续介绍两种类型的查询提示(JPA和EclipseLink)的具体实现细节

对Apache网站()的进一步研究似乎证实了查询提示是特定于供应商的

第1.8节查询提示

“忽略特定数据库无法处理或OpenJPA未知的提示。OpenJPA已知但提供了不兼容值的提示将导致引发IllegalArgumentException。”


根据我所阅读的内容以及您在问题中所链接的内容,我不认为存在“供应商中立”的查询提示。预期的行为是,如果供应商不支持指定的查询提示,它将被忽略

措辞非常清楚。JPA规范中有标准提示,所有供应商都支持。特定于供应商的提示就像上面说的那样。。。特定于供应商的。。。被任何其他供应商忽略。@NeilStockton“措辞非常清楚”。这不是很主观吗?我接受的答案也和我一样理解,没有标准的提示。有标准的提示。这里是javax.persistence.lock.timeout、javax.persistence.query.timeout、javax.persistence.fetchgraph、javax.persistence.loadgraph。这里有一种模式。。。。它们都是从javax.persistence开始的,并且都在JPA规范中明确指定。“答案”使用的ref也指与查询javax.persistence.cache.retrieveMode和javax.persistence.cache.shareMode的二级缓存交互相关的另外两个查询。同样,他们遵循同样的规则。。。命名空间定义为javax.persistence。是的,有标准hints@NeilStockton那是因为我没有访问链接。我认为他是对的。在谷歌上输入JPA列表查询提示,您将看到所有您将发现的是供应商特定的措辞非常清楚。JPA规范中有标准提示,所有供应商都支持。特定于供应商的提示就像上面说的那样。。。特定于供应商的。。。被任何其他供应商忽略。@NeilStockton“措辞非常清楚”。这不是很主观吗?我接受的答案也和我一样理解,没有标准的提示。有标准的提示。这里是javax.persistence.lock.timeout、javax.persistence.query.timeout、javax.persistence.fetchgraph、javax.persistence.loadgraph。这里有一种模式。。。。它们都是从javax.persistence开始的,并且都在JPA规范中明确指定。“答案”使用的ref也指与查询javax.persistence.cache.retrieveMode和javax.persistence.cache.shareMode的二级缓存交互相关的另外两个查询。同样,他们遵循同样的规则。。。命名空间定义为javax.persistence。是的,有标准hints@NeilStockton那是因为我没有访问链接。我认为他是对的。在google上键入JPA列表查询提示,您将看到所有您将找到的都是特定于供应商的