问题标签 [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 投票
1 回答
490 浏览

java - “错误:ORA-00911:无效字符”用于通过 Hibernate JPA 创建表

我想用Hibernate JPA. 我使用Oracle 11gand JDBC 6 & 7(因为我不确定哪一个适合 11g :))。

我的图书馆:hibernate-release-4.2.0.Final &&& hibernate-jpa-2.0-api-1.0.1Tomcat-8 libJDK 1.8.0-172

我创建了两个实体,但是当我运行程序时,未创建表并出现此错误:

我直接在 SQL PLUS 上运行这些查询进行测试。表已正确创建。即使我使用<property name="hibernate.hbm2ddl.auto" value="create-drop"/>了,我直接创建的表也被删除但没有被重建。

我的实体:

和persistence.xml:

我该如何解决?

0 投票
0 回答
947 浏览

java - JPA“更新”查询卡住并锁定所有数据库

我有一个更新查询,有时会卡住并锁定整个数据库。每当发生这种情况时,我必须要求 DBA 手动终止查询。db 中查询的状态是“sleeping”,如下图所示。

https://imgur.com/a/fFN6rlJ

我正在使用 MS SQL 2012 Server 和 hibernate-core 5.2.6-Final。

我试过实现查询超时,但没有成功。即使超时,查询也碰巧再次卡住。我在下面粘贴了执行更新的代码片段:

我还尝试插入一个“finally”块并调用entityManager.close(). 由于插入了finally块,错误还没有发生。

但我不相信它会永远解决。如何确保查询不会卡住并锁定数据库?

0 投票
1 回答
105 浏览

hibernate - 如何使用 JPA 和 Hibernate 从其他时间戳属性中获取时间戳属性在一小时内的实体

我对带有路径或表达式的 JPA 查询标准构建器有疑问。

我想找出在创建帐户后一小时内都输入了第一个发表评论的人

例子:

  1. 帐户创建于:2018-SEP-10 上午 10 点,First Post 输入 2018-SEP-10 上午 10.15 应获取此信息。(一小时内下降)

  2. 帐户创建于:2018 年 9 月 10 日上午 10 点,第一篇帖子于 2018 年 9 月 10 日下午 3.50 输入,不应获取此信息。

有什么方法可以从 Path accountCreatedTime 添加或分离小时数?或者我们可以在小时和标准构建器中获得路径 accountCreatedTime 和路径 FirstPostCreatedTime 之间的差异

0 投票
1 回答
475 浏览

java - 带有 CreationTimestamp 的日期字段抛出 PropertyValueException:非空属性引用空值或瞬态值

我正在使用带有 spring-boot 2.0.6 和 hibernate 5.2.17 的 web 服务。当我使用 @CreationTimestamp、@Column(nullable = false) 和 @Temporal(TemporalType.TIMESTAMP) 的 createTime 字段保存对象时,我得到异常 org.hibernate.PropertyValueException: not-null property references a null or transient value: com.ex.Entity.createTime。但是在另一个服务中(spring-boot 1.5.6 和hibernate 5.0.12),没有出现这个问题。

于是我通过调试一步步调试,最后发现当hibernate用@Column(nullable=false)检查字段的时候

变量 Nullability#checkNullability 在高版本为真,低版本为假。

我知道改变版本(我不行)或者设置createTime的值(笨)可以解决这个问题,而且我认为java和scala对这个问题影响不大,所以示例代码是scala。有没有更好的方法像注释一样解决它?

0 投票
0 回答
534 浏览

spring - 如何为自定义 JPQL 查询使用规范

有没有办法为自定义JPQL查询添加规范,如下所示:我能够创建自定义 jpql,但不确定如何向其添加额外的规范条件。我需要动态添加规范。

EmployeeRepository.java

@Query(value = "select new .EmployeePojo(c.employee_id, d.deplt_id) from Employee c left join c.dept d where c.id =1")

我应该在上面的自定义 jpql 中添加规范

0 投票
0 回答
59 浏览

spring-boot - 如何在topredacte方法中使用jpa中的两个连接

我正在使用带有弹簧靴的jpa,我是新手。我已经覆盖toPredicate()了规范的谓词。以下是我的代码:-

当我使用两个根时。获取它的覆盖前一个。请帮我解决这个问题。

0 投票
1 回答
47 浏览

java - Implement JPA request with JOIN

I have these 3 entities:

Payment Transactions:

WPF Payments:

WPF Payments Payment transactions:

I use these SQL requests to get proper data based in id:

Is there some way to implement these SQL requests using JPA queries?

0 投票
1 回答
1404 浏览

jpa - org.hibernate.hql.ast.QuerySyntaxException:意外令牌:jpa

将 AND 条件添加到下面提到的查询后

我收到以下异常

你能帮我解决这个问题吗!

0 投票
2 回答
278 浏览

hibernate - 如何查找结果是否落在 lucene 索引中的两个日期之间?

我正在尝试查找到期日期是否介于今天和指定的另一个日期之间。虽然我的数据库有结果,但搜索查询似乎没有获取值。请帮忙!

这是正在运行的查询: jpaQuery: FullTextQueryImpl(+membershipStatus:full_member +accountManager.firstName:nikki +expiryDate:[20190416 TO 20190516})

此外,数据库的到期日期为 YYYY-MM-dd HH:mm:ss 格式,不确定如何匹配这些字段。

这是查询:

这是在实体上:

0 投票
0 回答
162 浏览

java - Hibernate JPA 持久化后 - 记录不在数据库中

我在尝试编写一些 JBehave BDD 测试时遇到以下问题。场景如下:由于 MQ 消息,一些特定记录应该保存到我的数据库中,一些应该从中删除。在我的@When 步骤中,我发送给定的消息,在我的@Then 步骤中,我有一些断言来控制结果。我面临 Hibernate JPA 的持久化和更新方法的问题,因为它发生在我的代码运行到我的 @Then 步骤之后,所以我总是得到错误的结果。当我在调试模式下检查它并检查应该更新/删除的每个记录时,它们都很好。我假设我的断言应该在事务提交到数据库后立即执行——但我看到的情况并非如此。有没有办法在数据库事务之间设置延迟或睡眠时间?

这是例如我在我的主项目中的删除方法:

在我的 BDD 项目中,我设置数据库连接如下:

在我的断言中,我使用以下查询来检查给定记录是否已成功从数据库中删除:

我的 dbHelper 类如下所示:

它总是返回数据库的给定记录,该记录不会被删除。

这是我的主要项目的持久化 xml:

这是我的 BDD 项目之一:

任何想法,如何设置事务在 Hibernate 的 executeUpdate 运行之前不执行 assert 方法?我尝试调用 entityManager.getTransaction.commit 方法,然后每次都启动一个新方法,但没有任何变化。有没有办法锁定事务,直到 executeUpdate 完成,然后才允许选择查询?或者 JBehave 是否可以在步骤之间提供等待或睡眠时间?

谢谢你。