问题内容: 今天,我面临一个有趣的问题。我一直在使用Hibernate JPA和策略来建立继承层次结构。后来,我在层次结构中添加了一个超类,该类定义了策略。结果是整个层次结构都表现为。如果我们阅读javadoc ,这当然看起来很公平: 定义用于实体类层次结构的继承策略。它是在实体类上指定的,该实体类是实体类层次结构的根。 但是,Hibernate文档说: 可以对同一继承层次结构的不同分支使用不同的
问题内容: 我有以下实体: 如您所见,该实体使用表 ONE 和(只读)视图 VIEW_TWO 。当我保留实体时,hibernate正在执行插入视图: 它忽略了不可更新和不可插入的列 进度 (这很好),并且仍在尝试插入 ONE_ID 列的值。据我所知,注解@PrimaryKeyJoinColumn将选定的列标记为 insertable = false 和updatable = false 。 如何防
问题内容: 我在类型为char(7)的MySQL表中的“语言”列上遇到JPA /hibernate映射问题。在我的实体中,为该字段生成的代码为: 这会在运行时导致以下异常: 提前致谢 ! J.P 问题答案: 尝试这个: 看看是否可行。
问题内容: Hibernate继续将SQL跟踪发送到stdout,当隐藏在JPA适配器后面时,我不知道如何更改Hibernate配置属性。这是entityManagerFactory的Spring bean: 即使将showSql属性设置为false,Hibernate也会继续打印SQL。 我试图用“ hibernate.show_sql = false”在类路径中创建一个hibernate.pr
问题内容: 我正在使用JPA Criteria API构建查询。当我使用方法创建两个限制谓词时,生成的SQL查询与我预期的有所不同。 在属性之上构建的第一个谓词产生了SQL,其中的参数集合的所有元素都内联:。 在属性之上构建的第二个谓词产生了参数化的SQL :。 让我展示: 实体: 查询: 日志: 我的问题: 为什么将Integer列表的元素直接内联到sql以及将String列表的元素作为已准备好
问题内容: 我正在使用并且正在开发中。我的实体类包含两个关系。 当我运行查询以从数据库中的付款表中检索记录时,例如 如果我允许的,我得到以下错误 但是如果我将其删除并保留为,我将有例外 我究竟做错了什么 问题答案: 为了避免使用,而不是使用,请在本示例中尝试使用: 这是对docs的简短描述: @LazyCollection:定义@ManyToMany和@OneToMany关联上的惰性选项。Lazy
问题内容: 我需要允许客户端用户在运行时扩展JPA实体包含的数据。换句话说,我需要在运行时向实体表添加一个 虚拟列 。该 虚拟列 将仅适用于某些 数据行, 并且可能有很多这些 虚拟列 。因此,我不想在数据库中创建实际的其他列,而希望使用代表这些 虚拟列 的其他实体。 例如,请考虑以下情况。我有一个 Company 实体,其字段标记为 Owner ,其中包含对 Company Owner 的引用。在
问题内容: 我有一个Spring + Hibernate + JPA应用程序。用户登录时,可以从要连接的数据库列表中进行选择(这是要求)。所有数据库都有相同的架构,因此将使用相同的实体和DAO。 现在,我有一个EntityManager(目前正在使用一个数据库),它被注入到DAO中,如下所示: 有什么方法可以让DAO根据从服务层接收到的参数/属性自动接收entityManager(由Spring管
问题内容: 我有2个实体:EntityA和EntityB。 它们是无关的,出于某些限制,我不能将它们放在继承树中。 但是我需要在同一个JPQL或HQL查询中混合包含两个实体的所有实例的List。JPA甚至直接使用Hibernate是否可以实现? 我需要这样的东西: 有什么提示吗? 问题答案: 好吧,我终于想通了。 足以使实体实现一个公共接口(甚至不需要在Hibernate上声明此接口)。 然后,可
问题内容: 我正在JPA中对userid列强制执行唯一性约束检查,这是对user表中的所有记录强制执行的。 我的要求是,特定组织内的用户ID必须唯一,而不是在所有组织中都唯一。 如何执行此类检查? 问题答案: 您可以为唯一约束指定多个字段,请尝试: 通过这样做,您的约束条件将检查userid和Organizationid的组合是否唯一。 最好的祝福,费边
问题内容: 每个客户在不同的数据库中都有许多客户数据,这些数据应该具有相同的架构/表结构。但是,与其他数据库相比,在某些数据库中有一个表具有额外的列。 例如,对于客户A,有一个表X,其中包含a,b,c,d列。对于客户B,有一个表X,其中包含a,c,d列。我需要捕获b(如果存在),但是可以忽略它。 如果它们不存在,是否有办法告诉JPA忽略这些列?读取的内容与我想要的完全一样,但是文档表明它是出于其他
问题内容: 我需要在通过JPA EntityManager访问的数据库中创建一个新表。JPA NativeQueries是否支持“选择”或“更新”以外的查询?还是在JPA上下文中还有另一种先进的方法来执行复杂的SQL查询? 问题答案: jpa“本机查询”仅可用于DML语句(数据处理语言)。要发布任何DDL(例如创建表),您需要从EntityManager获取基础连接。 如何从EM中提取连接将取决于
问题内容: 我们对PostgreSQL中的继承以及在JPA中将其映射为实体存在疑问。我们的数据库和我们要映射的表是: 我们在Netbeans 7.1.2中使用自动工具将它们映射到实体。起初我认为仅添加就足够了 因此,它只是 扩大了 ,但无法正常工作。最好的方法是什么?提前致谢。 问题答案: JPA的继承概念基于普通表。它并没有真正“理解” PostgreSQL表继承的想法。这是使用旨在暴露功能的最
问题内容: 我想我刚刚发现,两种不同的JPA实现在约束违例和回滚方面的工作方式不同。 哪种实施方式正确? NameMustNotBeNull.java NameMustNotBeNullTest.java persistence.xml org.eclipse.persistence.jpa.PersistenceProvider org.hibernate.ejb.HibernatePersis
问题内容: 我试图通过使用限制查询来限制查询结果。超出限制,查询按预期运行。 但是,当我尝试通过使用限制(记录数)来限制记录时,如下所示, 从上面的查询中,我收到以下错误, 如何在Spring Data JPA查询中使用按限额查询定单? 问题答案: 您不能向注释添加分页支持。使用Spring Data JPA时,无需在其中添加排序和分页功能。使用作为第二个参数,而不是像如下: 封装了排序和分页功能