问题标签 [jpa-2.1]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JPA Query 仅选择特定列而不使用 Criteria Query?
是否可以使用查询而不使用条件查询从对象中仅选择属性A 和 B ?JPA
要选择所有属性,我只需执行以下操作:
但是我在遗留系统上有一个具有许多属性的对象,并且即使我知道选择多个属性通常很快,但我只想选择一些属性。
如果不使用标准查询,这可能吗?
java - 如何以供应商中立的方式使用 JPA?
我一直在使用 JPA 的供应商特定实现。现在我正在寻找最新版本(2.1)中供应商中立 javax.persistence-api.persistence-api 的 maven 依赖项
似乎我只能从 2007 年 7 月找到 1.0.2 版
供应商似乎提供了更新的版本(hibernate-jpa-2.1-api、org.eclipse.persistence 等。)
以供应商中立的方式使用 JPA 2.1 的最佳方法是什么?我需要哪个 Maven 依赖项?我希望版本 2.1 如下,但找不到,为什么?
hibernate - org.hibernate.QueryException:非法尝试取消引用集合
我正在尝试按照 hql 查询执行
但它显示
java - JPA 2.1 中的 @ConstructorResult 映射不能与 Hibernate 4.3.5.Final 一起正常工作
我尝试将本机查询映射到非实体类。我有以下实体:
我期待着打电话
将导致GroupListEntry
使用以下构造函数创建对象(如@ColumnResult
注释中所述)
但事实证明,预期的构造函数依赖于底层数据库......在集成测试中,我使用 HSQLDB 和 JPA/Hibernate 尝试调用:
而在使用 MSSQL 的开发环境中,它调用:
显然,每个中指定的类型都@ColumnResult
被简单地忽略了。我只想有一个构造函数而不是三个。
以下是我的pom.xml
文件的片段:
我错过了什么吗?
执行查询后编写一些注释比手动映射要优雅得多,但我不能强制它正常工作。
问候,
米
jpa - 为什么在 EclipseLink 中具有嵌套属性的子查询总是产生不必要的/冗余的/重复的/多余的连接?
我想通过 EclipseLink ( 2.6.1 ) JPA 标准生成以下 SQL。
在 Hibernate(4.3.7 最终版)上运行以下标准和 JPQL 查询会产生上述干净的查询,人们总是可以直观地期待。
对应的 JPQL :
在 EclipseLink (2.6.1) 上运行这些查询(标准和 JPQL)而不进行任何修改会产生以下非常丑陋/混乱的查询。
我只想获取 type 的标量值BigDecimal
。它不需要在这里加入,我也没有提到过,尽管它产生了两个完全不必要的多余连接。
这些冗余连接的原因是给定谓词中的两个嵌套属性。
和
看看Predicate
数组。
我一直试图知道原因很长时间,但我在 EclipseLink 中没有发现任何关于这种现象的任何内容。
我不认为这可能是一个疏忽。看起来很刻意。
看到这样的言论,我感到非常失望。是否有任何理由让 EclipseLink 生成这种冗余连接?是否有一些设置或其他东西可以摆脱我在 EclipseLink 中可能缺少的?无论如何可以避免它们吗?
附加信息 :
表结构很简单。这里即涉及三个表。
- zone_charge
- 国家
- 重量
该zone_charge
表有一列weight_id
是引用表中相应主键的外键weight
。
和表都有一个列country
,其中列的外键(此处未提及)在两个表中。zone_charge
zone_id
zone_id
zone_table
查询zone_charge
根据重量值返回特定区域中的费用值。假定用户不知道区域。因此,该查询基于用户通过在下拉框中选择国家提供的国家在后台选择区域。
更新 :
一些不同观点和看法的问题:
- https://bugs.eclipse.org/bugs/show_bug.cgi?id=246211
- https://bugs.eclipse.org/bugs/show_bug.cgi?id=298494
- https://bugs.eclipse.org/bugs/show_bug.cgi?id=395792
- https://bugs.eclipse.org/bugs/show_bug.cgi?id=300625
- https://bugs.eclipse.org/bugs/show_bug.cgi?id=433126
所有这些都暗示着同样的事情。Hibernate 在生成整洁的 SQL 语句方面往往非常聪明。我不认为那些使用 EcliplseLink(又是广泛使用的 ORM 框架之一)的人喜欢在数据库上执行这种不整洁的 SQL 语句。
你真的只是继续和他们在一起吗?
java - JPA 2.1 外键没有保存在 ManyToOne 级联上
我有两节课。
我的保存是这样的:
这行得通,因为它保存了保留,它保存了夜晚。但是当我查看数据库时,NIGHT 表中的 RESERVATION_ID 列为空。
在以前的项目中(在升级到 Java 8 和 JPA 2.1 之前),我不需要手动设置子对象的父对象以保存该关联。有什么改变,还是我做错了什么?
编辑:
这可以正确保存关联,但过去没有必要。
java - 如何通过两个字段加入(CriteriaBuilder)
我有一个实体
我想通过标准构建器像这样构建 SQL 选择
我试过这个:
但是生成了这样的sql:
主要问题是“如何不仅通过一个参数加入”?
java - 通过 inverseJoinColumn 加入子句
我有一个实体
我正在尝试生成这样的 sql
但是JPA给我的不一样...
我正在尝试构建查询
我只想通过 inverseJoinColumns 进行连接:s.school_id = b.school_id 是否可以使用标准生成器?然后我想检查 fullBasicSchoolList 的加入是否为 NULL
grails - JPA2 与 Grails 和 GORM?
我需要使用 GORM,但要使用某些需要 JPA 2 或 2.1 的库。我看到这里有一个插件 ( http://grails.org/plugin/gorm-jpa ) 用于将 GORM 与 JPA 1 一起使用,但它自 2012 年以来没有更新。
有没有办法同时使用 GORM 和 JPA 2.x?如果不是,需要采取哪些步骤来发展这种能力?
提前致谢。
hibernate - Weblogic 12.1.3 上的 JPA2.1 和 Hibernate Validator 5.1.2
我正在尝试将我的项目配置为在 Weblogic 12.1.3 上使用 Hibernate Validator 5.1.2 运行 JPA2.1,但是当我尝试部署我的项目时遇到了问题。
我将 weblogic 配置为使用 JPA2.1,如 Weblogic 12.1.3 的文档页面中所述的手动方法:http: //docs.oracle.com/middleware/1213/wls/EJBAD/using_toplink.htm#EJBAD1508
我想在我的项目中使用 hibernate-validator 5.1.2,我将其配置为:
Maven依赖:
weblogic.xml
在部署时,我得到以下异常:
当我使用 JPA2.0 和 Hibernate Validator 4.3.1 在 Weblogic 12.1.2 上配置我的项目时,我没有遇到此异常。
有人对如何解决这个问题有建议吗?