草庐IT

QueryDSL-JPA

全部标签

java - JPA - 必须为范围变量声明提供标识变量

我想知道为什么我得到“必须为范围变量声明提供标识变量”。当我没有别名时出错。似乎我在向表中添加别名时解决了问题。有问题的代码:Listresult=entityManager.createQuery("fromRental",Rental.class).getResultList();解决方法:Listresult=entityManager.createQuery("fromRentalr",Rental.class).getResultList(); 最佳答案 您应该区分HQL(Hibernate查询语言)和JPQL(Java持

java - @Converter 注释类未被 jpa 自动检测到

@Converter(自JPA2.1起引入)似乎是将数据库值切换为我们希望在java代码中看到的值的一种非常方便的方法。但是,我无法使它正常工作。JPA似乎不知道我编写的转换器,并试图自行将值转换为适当的类。这是我写的代码:@Converter(autoApply=true)publicclassDateConverterimplementsAttributeConverter{@OverridepublicStringconvertToDatabaseColumn(Dateb){System.out.println("ConvertingtoDatabaseColumns");ret

【Spring Boot】SpringBoot和数据库交互: 使用Spring Data JPA

文章目录1.数据库和Java应用程序1.1为什么需要数据库交互1.2传统的数据库交互方法2.什么是JPA2.1JPA的定义2.2JPA的优势3.SpringDataJPA介绍3.1SpringDataJPA的特性3.2如何简化数据库操作4.在SpringBoot中集成SpringDataJPA4.1添加依赖4.2配置数据源5.实体(Entity)的创建和配置5.1创建一个Java实体类5.2使用注解配置实体属性6.创建Repository接口6.1什么是Repository6.2使用SpringDataJPA提供的CRUD方法7.自定义查询方法7.1基于方法命名规则的查询7.2使用@Query

java - JPA:@PrimaryKeyJoinColumn(...) 与@JoinColumn(..., insertable = ?, updatable = ?) 一样吗?

如果没有可插入和可更新参数的@PrimaryKeyJoinColumn(...)与相同,您能否从JPA规范派生@JoinColumn(...,insertable=false,updatable=false)或@JoinColumn(...,insertable=true,updatable=true)何时用于常规(非继承)关联?它们应该可以互换吗?可插入和可更新属性设置为什么?他们是否设置了任何东西?请注意,我只针对两者(似乎)实现的只读属性......我在EclipseLink和Hibernate中遇到相当不一致的映射异常...这是@PrimaryKeyJoinColumnJava

java - 如何找到JPA的版本?

如何了解我在EJB中使用的JPA版本?JPA是否内置EJB?问候 最佳答案 使用JavaEE5容器,您将获得JPA1.0(在JSR220-EnterpriseJavaBeans,Version3.0中指定)。使用JavaEE6容器,您将获得JPA2.0(在现在专用的JSR317:JavaPersistence2.0中指定)。如果您提供自己的JPA实现,那么,这取决于您提供的实现和版本:)以下是一些JPA2.0实现及其各自的版本:EclipseLink2.0+hibernateEntityManager3.5+OpenJPA2.0+D

java - 使用 JPA + Hibernate 进行大量插入

我需要使用EJB3、Hibernate、SpringData和Oracle进行大量插入。最初,我使用的是SpringData,代码如下:talaoAITDAO.save(taloes);其中talaoAITDAO是SpringDataJpaRepository子类和taloes是TalaoAIT实体的集合。在此实体中,其各自的ID具有以下形式:@Id@Column(name="ID_TALAO_AIT")@SequenceGenerator(name="SQ_TALAO_AIT",sequenceName="SQ_TALAO_AIT",allocationSize=1000)@Gene

java - 如何使用 Spring Data/JPA 插入到 Postgres 数组类型的列中?

假设我有一个这样的postgres表:CREATETABLEsal_emp(nametext,pay_by_quarterinteger[],scheduletext[][]);我什至可以使用SpringData插入列pay_by_quarter或schedule吗?如果可能的话,这看起来如何作为Repository和Entity?我一直无法找到解决此问题的任何文档或示例,可能是因为它如何与更常见的用例重叠,以一对多关系插入多个表。说到这里,我完全打算使用Postgresqlarray数据类型,而不使用关系表。 最佳答案 您需要创建

java - 使用 JPA 映射计算属性

有没有办法使用JPA映射计算属性?假设我有一个Invoice对象,其中有一个或多个InvoiceLineItems,我想在Invoice类上有一个持久的计算属性这给了我总金额:classInvoice{...@Column(name="TOTAL_AMOUNT")publicBigDecimalgetTotalAmount(){BigDecimalamount=BigDecimal.ZERO;for(InvoiceLineItemlineItem:lineItems){amount=amount.add(lineItem.getTotalAmount());}returnamount;

java - Hibernate 和 JPA 之间有什么区别?

这个问题在这里已经有了答案:What'sthedifferencebetweenJPAandHibernate?[closed](22个答案)关闭2个月前。社区在2个月前审查了是否重新打开此问题,然后将其关闭:原始关闭原因未解决当我在大学学习网络编程时,他们告诉我们Hibernate。我们使用了一段时间,我什至有机会在一家公司的真实场景中使用它近8个月。现在我完全切换到JavaEE6,我使用JPA来满足我的ORM需求。我已经用了几个月了,但我真的不明白它们之间有什么区别。为什么有人说一个或另一个更好或更坏?我在两者中进行映射和注释的方式几乎相同。也许你能解决我的一些疑惑:各自的优缺点是

java - JPA 延迟加载

我对JPA实体中的延迟加载属性有疑问。我读过很多类似的问题,但它们与spring或hibernate相关,并且他们的回答要么不适用要么没有帮助。该应用程序是在Wildfly应用程序服务器上运行的具有JPA2.1的JEE。有两个实体,DAOsessionbean和将它组合在一起的servlet:@Entity@Table(name="base_user")publicclassUserimplementsSerializable{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="id")intid;@One