问题标签 [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.
java - “错误:ORA-00911:无效字符”用于通过 Hibernate JPA 创建表
我想用Hibernate JPA
. 我使用Oracle 11g
and JDBC 6 & 7
(因为我不确定哪一个适合 11g :))。
我的图书馆:hibernate-release-4.2.0.Final
&&& hibernate-jpa-2.0-api-1.0.1
Tomcat-8 lib
JDK 1.8.0-172
我创建了两个实体,但是当我运行程序时,未创建表并出现此错误:
我直接在 SQL PLUS 上运行这些查询进行测试。表已正确创建。即使我使用<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
了,我直接创建的表也被删除但没有被重建。
我的实体:
和
和persistence.xml:
我该如何解决?
hibernate - 如何使用 JPA 和 Hibernate 从其他时间戳属性中获取时间戳属性在一小时内的实体
我对带有路径或表达式的 JPA 查询标准构建器有疑问。
我想找出在创建帐户后一小时内都输入了第一个发表评论的人
例子:
帐户创建于:2018-SEP-10 上午 10 点,First Post 输入 2018-SEP-10 上午 10.15 应获取此信息。(一小时内下降)
帐户创建于:2018 年 9 月 10 日上午 10 点,第一篇帖子于 2018 年 9 月 10 日下午 3.50 输入,不应获取此信息。
有什么方法可以从 Path accountCreatedTime 添加或分离小时数?或者我们可以在小时和标准构建器中获得路径 accountCreatedTime 和路径 FirstPostCreatedTime 之间的差异
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。有没有更好的方法像注释一样解决它?
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 中添加规范
spring-boot - 如何在topredacte方法中使用jpa中的两个连接
我正在使用带有弹簧靴的jpa,我是新手。我已经覆盖toPredicate()
了规范的谓词。以下是我的代码:-
当我使用两个根时。获取它的覆盖前一个。请帮我解决这个问题。
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?
jpa - org.hibernate.hql.ast.QuerySyntaxException:意外令牌:jpa
将 AND 条件添加到下面提到的查询后
我收到以下异常
你能帮我解决这个问题吗!
hibernate - 如何查找结果是否落在 lucene 索引中的两个日期之间?
我正在尝试查找到期日期是否介于今天和指定的另一个日期之间。虽然我的数据库有结果,但搜索查询似乎没有获取值。请帮忙!
这是正在运行的查询: jpaQuery: FullTextQueryImpl(+membershipStatus:full_member +accountManager.firstName:nikki +expiryDate:[20190416 TO 20190516})
此外,数据库的到期日期为 YYYY-MM-dd HH:mm:ss 格式,不确定如何匹配这些字段。
这是查询:
这是在实体上:
java - Hibernate JPA 持久化后 - 记录不在数据库中
我在尝试编写一些 JBehave BDD 测试时遇到以下问题。场景如下:由于 MQ 消息,一些特定记录应该保存到我的数据库中,一些应该从中删除。在我的@When 步骤中,我发送给定的消息,在我的@Then 步骤中,我有一些断言来控制结果。我面临 Hibernate JPA 的持久化和更新方法的问题,因为它发生在我的代码运行到我的 @Then 步骤之后,所以我总是得到错误的结果。当我在调试模式下检查它并检查应该更新/删除的每个记录时,它们都很好。我假设我的断言应该在事务提交到数据库后立即执行——但我看到的情况并非如此。有没有办法在数据库事务之间设置延迟或睡眠时间?
这是例如我在我的主项目中的删除方法:
在我的 BDD 项目中,我设置数据库连接如下:
在我的断言中,我使用以下查询来检查给定记录是否已成功从数据库中删除:
我的 dbHelper 类如下所示:
它总是返回数据库的给定记录,该记录不会被删除。
这是我的主要项目的持久化 xml:
这是我的 BDD 项目之一:
任何想法,如何设置事务在 Hibernate 的 executeUpdate 运行之前不执行 assert 方法?我尝试调用 entityManager.getTransaction.commit 方法,然后每次都启动一个新方法,但没有任何变化。有没有办法锁定事务,直到 executeUpdate 完成,然后才允许选择查询?或者 JBehave 是否可以在步骤之间提供等待或睡眠时间?
谢谢你。