问题标签 [hibernate-jpa]

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.

0 投票
0 回答
415 浏览

java - 仅当模型存在时才更新 JPA

  1. em.merge 不是一个选项,因为如果 id 不存在,我不想要新行。此外,它还调用了一个额外的选择。

  2. 我不想找到然后调用合并,因为它将再次成为额外的选择。

  3. 我希望有一种无需编写 JPQL 查询的方法,因为我不确定要更新的字段的确切数量。

0 投票
0 回答
81 浏览

spring-data-jpa - Weblogic 10.3.3 :: java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getSharedCacheMode()

我得到错误

我正在使用 weblogic 10.3.3 和 hibernate-jpa-2.0-api-1.0.1.Final.jar。我什至尝试在服务器的启动类路径中设置这个 jar,这样它就不会与服务器的 JPA 冲突,但错误仍然存​​在。

不知道如何解决此错误。有什么建议么?

0 投票
0 回答
243 浏览

jpa - 非主字段的 OneToOne 映射问题

我正在尝试通过 JPA 使用一对一映射在 2 个表之间映射非主键列。OneToOne 没有在提到的列上执行连接,而是选择了 Id 字段。

下面是表结构:

人表 id (PK) 名称 学院

学院表 id (PK) clg_name 位置

位置表 ID (PK) loc_name

我需要分别使用列 location 和 loc_name 提供 College 和 Location 之间的 OneToOne 映射。我尝试使用@NaturalId、@MapsId 并提供参考列名称。它仍然使用 id 字段

//人

//大学

//地点

在上面的代码中,我面临使用位置名称列的 OneToOne 映射问题。我通过查询“from Person p where p.id = :id”从 JPA 存储库中查询 Person 对象。

日志中为 1to1 映射生成的 JPA 查询似乎是

从 details.college 学院 0_ 左外连接中选择 details.location location1_ on college0_.id=location1_.locName where college0_.id=?

如果我从 Location 中删除 @MapsId ,则会出现以下错误:

0 投票
1 回答
248 浏览

java - 如何测试 Hibernate JPA 持久层?

我需要为数据访问(Hibernate 持久性操作)编写测试,因为我想知道即使升级 Hibernate 版本它也能按预期工作。那么使用 Junit 的最佳方法是什么?测试外部系统(Hibernate JPA 实现)真的有用吗?

0 投票
2 回答
58 浏览

java - 我如何只获得班级的两个属性

我的控制器有问题,它返回整个用户实例,而我只需要返回属性:“电子邮件”和“密码”。

问题存在于public String login ()Controller类中的方法中AuthController(你会在右行找到提到它的注释)

控制器

存储库

类用户

登录.html

0 投票
2 回答
4019 浏览

spring - Caused by: java.lang.IllegalArgumentException: Property 'driverClassName' must not be empty

In the code I have shared here Exception in thread "restartedMain" java.lang.reflect.InvocationTargetException Caused by: java.lang.NullPointerException I am getting new error. Could you please help me with this.

application.properties

Updated one:

0 投票
1 回答
1182 浏览

java - Micronaut 数据本机图像:不存在 [io.micronaut.data.operations.PrimaryRepositoryOperations] 类型的 bean

我正在使用 Micronaut、Micronaut Data、JPA、Postgres 和 GraalVM 开发一个新示例,遵循 https://github.com/rmondejar/micronaut-postgres-example

此示例是使用具有以下功能的 Micronaut Launch 2.0.0.RC1 创建的:

没有本机图像,它可以完美运行,测试通过:

生成本机映像并执行它看起来不错:

但是,一旦到达存储库,它总是会失败:

转到本机时似乎是配置错误的问题,但是由于我遵循指南并使用生成的应用程序,因此不确定缺少什么。

0 投票
1 回答
55 浏览

spring-data - Spring Data API 的 Quarkus 扩展 - 自动存储库实现生成

我正在尝试在 quarkus 中迁移一个 spring 项目,并且我正在使用 quarkus 扩展作为 spring 数据 API。

正如他们在 quarkus 文档中所说:扩展 org.springframework.data.repository.Repository 的接口是自动实现的,并且生成的存储库也注册为 bean,因此它们可以注入任何其他 bean(来源:https://quarkus. io/guides/spring-data-jpa#what-被支持)。但是在春季文档中,他们说除了扩展 org.springframework.data.repository.Repository 之外,我们还可以使用 @RepositoryDe​​finition 注释我们的接口,这将导致与扩展 org.springframework.data.repository.Repository 相同的行为(来源:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.definition-tuning)。

我的问题是:spring data API 是否会自动生成带有 @RepositoryDe​​finition 注释的存储库,因为它与扩展 org.springframework.data.repository.Repository 具有相同的行为?

如果不是,是否有任何其他方法可以使 Spring Data API 生成带有 @RepositoryDe​​finition 注释的存储库?

请注意,我无法修改声明接口的包,因为它是第三方库。

提前致谢

0 投票
1 回答
70 浏览

java - java.lang.Exception:不是实体:com.domain.package.User 类

我正在将实体映射从注释应用程序迁移到 hbm.xml

我出错了这个错误并没有找到解决方案。谢谢

我在资源文件夹中有 hibernate.cfg.xml,在一个包中有 User.hbm.xml,在另一个包中有 User.class

用户.hbm.xml

用户类

休眠.cfg.xml

0 投票
1 回答
322 浏览

java - 我用 createEntityManagerFactory 但不是 @PersistenceContext 得到“无效的 persistence.xml”

我有一个项目,我们使用Hibernate-jpa-2.1并以这种方式获得 EntityManager istance

和这个

因为有些类不是 EJB 而其他类是(我猜)。问题是createEntityManagerFactory失败并出现错误:

这是persistence.xml

我不明白为什么会发生这种情况,因为我的类在同一个包中,同一个 maven 模块,使用相同的 Hibernate 实体和相同的persistence.xml

注意:使这个类成为 EJB 不是一种选择。