草庐IT

QueryDSL-JPA

全部标签

c# - .NET 中的 JPA 实现等效于什么?

我认为JPA既好又方便(更不用说标准化了,因为我们过去常常让每个程序员使用jdbc连接做他/她自己的事情)。我想在mysql和sqlserver中使用类似jpa和C#的东西。 最佳答案 JPA只是持久对象的规范,而不是其实现。可以看到npersistence与.NET上的相同,但您还必须找到实现此规范的ORM。 关于c#-.NET中的JPA实现等效于什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

java - 防止在 JPA 中进行 N+1 选择

这个问题在这里已经有了答案:WhatisthesolutionfortheN+1issueinJPAandHibernate?(7个答案)关闭4年前。我有JPA实体Order,它与Customer有ManyToOne关系。它是双向的,因此Customer也有一个OneToMany字段订单。这两个关系都使用EAGER抓取(或者在OpenJPA抓取计划中)。当我从Order中选择时,我得到1个订单选择和N个Customer.orders字段选择。令我惊讶的是,OpenJPA、EclipseLink和Hibernate都存在这个问题,即使我使用JOINFETCH(它在单向情况下也有效)也是如

java - 获取 JPA @OneToMany 集合返回空

我正在尝试一些EJB3inAction使用Glassfish4(EclipseLink)+JavaDB的示例。所以我有以下关系@Entity@Table(name="ITEMS")publicclassItemimplementsSerializable{privatestaticfinallongserialVersionUID=1L;privateLongitemId;...privateListbids=newArrayList();@Id@Column(name="ITEM_ID")publicLonggetItemId(){returnitemId;}publicvoidse

java - jpa2 使用 guice 重用 entityManager

我有一个网络应用程序有一些奇怪的行为,我无法真正理解。我的问题的核心是我的其余端点返回的值中存在不一致的行为。当我启动我的应用程序时,每次我调用此端点时,我的查询都会返回相同的值。当我更新一个实体时,我的实体管理器开始表现异常。现在我的查询开始返回不同的结果。有一次它返回旧值而不是数据库中的值,或者我的结果列表包含代理而不是对象(混合)。我已验证我的@transaction方法放置正确,并且在我的调试堆栈中我看到事务拦截器和实体管理器是根据对后端的请求创建的(因此没有guice持久性过滤器)我的感觉表明问题出在session上下文中。我有一种感觉(但我无法真正理解)它在多个请求中重用了

java - 通过服务公开 JPA 实体

我们正在使用AngularJS、Rest、JPA开发Web应用程序。我已经阅读了一些关于域实体不应通过服务公开的文章。我知道这是紧密耦合,可能存在循环引用、关注点分离,这对我来说似乎是有效的。但后来我看到有关将jpa和jaxb映射应用于同一模型的文章,eclipseLinkmoxy就是一个例子。然后是SpringdataREST,它通过restapi公开jpa实体。(可能是SpringDataREST用于解决手头的不同问题)所以我有点困惑。回答以下2个问题和其中一个比另一个更好的场景会有所帮助。将jaxb和JPA注释应用到同一个领域模型有什么好处?这样做主要是为了避免中间出现DTO层?

java - 在没有 persistence.xml 或 orm.xml 的情况下使用 IntelliJ 生成 JPA 实体

有没有办法在没有persistence.xml文件的情况下使用IntelliJ生成JPA实体?或者基本上让IntelliJ从JavaConfig中识别一个持久性单元?我有一个现有的(遗留)模式,该项目是重写的,现在在SpringBoot中使用JavaConfig。根据SpringBoot文档,持久化单元将由代码创建:@BeanpublicLocalContainerEntityManagerFactoryBeancustomerEntityManagerFactory(EntityManagerFactoryBuilderbuilder){returnbuilder.dataSourc

java - 如何使用 spring boot 和 jpa 在数据库中上传和保存文件?

我是springboot的新手。我想使用springboot上传一个小文件并使用jpa将其保存在db中。但是我没有很好的分辨率。我的程序是这样的:数据库表:CREATETABLE`report`(`id`int(10)NOTNULLAUTO_INCREMENT,`name`varchar(255)NOTNULL,`logo`BLOBNOTNULL,`created_time`int(10)NOTNULL,`updated_time`int(10)NOTNULL)ENGINE=InnoDBAUTO_INCREMENT=13DEFAULTCHARSET=utf8jpabean:报表.jav

java - 在 spring boot JPA 中,如何正确地将实体表示具有外键关联的对象发布到不同的实体?

如果我有一个实体包含另一个类的对象,例如Book内部有一个Publisher的实体关联的实体如下:@ManyToOne@JoinColumn(name="PUB_CODE",referencedColumnName="PUB_CODE")privatePublisherpub;这是一种安全/正确的方法(我在这个例子中看到了数据库中的正确数据,但不能100%确定它是否适用于所有情况)方法来发布在数据库中具有外键关联的对象?我不知道这样做在事务原子性或线程方面是否安全,或者它是否有效。相关代码如下:Book.javapackageapp.domain;/*imports*/@Entityp

java - 从 JPA 2.1 升级到 JPA 2.2

我在升级到JPA2.2时遇到问题。我正在使用eclipselink并更改了我的pom中的版本:org.eclipse.persistenceeclipselink2.7.0我还更新了persistence.xml以指向正确版本的xsd:my.entity问题是我收到以下错误消息:Thepersistence.xmlfiledoesnothavesupportedcontentforthisJPAplatform.我已经查看了eclipselink文档,但没有发现任何问题。有什么想法吗? 最佳答案 从JPA2.0升级到2.1后,我遇到

java - JPA Criteria query eager fetch associated entities using a SINGLE query with join 而不是多个查询

在将hibernate从4.3.11升级到5.2.12的范围内,我们正在从Hibernatenative标准查询迁移到JPA标准查询,并发现了不同的行为。以前的hibernate条件使用带有连接的单个查询来急切地获取一对多关联实体,但JPA使用单独的查询来获取每个根实体的关联实体。我知道我可以像entityRoot.fetch("attributes",JoinType.INNER);那样显式设置获取模式,但我们需要在一些AbstractDao实现中完成它,它应该适用于任何急切的人-对多关联,因此不能显式设置。那么我能否以某种方式告诉JPA标准,以便在默认情况下使用连接而不是针对每个根