问题标签 [javax.persistence]
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.
jpa - 带有 CriteriaQuery 和 ORDER BY 乘法的 JPA
我放弃了为我之前的问题寻找解决方案:Spring data - Order by multiplication of columns因为我找不到任何方法来实现它。
问题是,我正在使用EntityManager
with CriteriaQuery
,并且我正在尝试找到一种方法来放置 ORDER BY 子句,但是将两列相乘。前任。您存储在数据库中的数量和每单位的价格,并且您想按总价(数量 * unitPrice)订购它。
但是当我尝试时cq.orderBy(cb.asc(r.get("amount * unitPrice")));
,即使这两个属性都在我的 DTO 中,我总是得到java.lang.IllegalArgumentException: Unable to locate Attribute with the the given name [amount * unitPrice]
. 显然,我知道为什么会出现该异常,但我找不到任何解决方法来运行这样的查询。
我不能使用命名查询,因为我的查询需要一个我动态应用到它的过滤器 -> 我不能放置“ where id in ()
”,因为用户不能选择任何 ID,这意味着他想显示所有 ID,而我的命名查询将显然什么都不返回。当然,我不能在后端对其进行排序,因为记录太多了。
我一直在寻找实现它的东西这么久,但没有找到任何解决方案,我不敢相信这是不可能的。
spring - javax.persistence.PersistenceContext.synchronization()Ljavax/persistence/SynchronizationType
Im trying to run a simple JPA spring web page, but i'm having trouble with getting it to recognize javax.persistence, or maybe I have conflicts of imports.
So far I have tried removing many maven dependencies to try finding a conflict as a few other stackoverflow answers involved this and I was unable to. I also tried adding the persistence api dependency but it did not help
These are my dependencies in pom.xml
and this is the error I am getting when running the program
Running maven dependency:tree -Dverbose
returns this tree, which shows only one occurrence of javax.persistence-api:
java - 如何在 querydsl 生成中跳过 @Transient 字段?
我有一个@Entity
使用querydsl
代码生成的类。
问题:我的实体有一个包含一些@Transient
字段的父实体。这些在生成过程中不会被跳过。
包信息.java:
问题:如何告诉 querydsl@Transient
自动忽略任何字段?目前,根本原因可能是AuditingEntity
与域实体位于不同的文件夹中,因此未在package-info.java
querydsl 中列出。但是我怎么能在不移动审计实体的情况下解决它呢?
期间产生:
hibernate - 通过带有 JoinColumn 的 REST 持续存在的问题(Spring Boot/Hibernate)
我对抽象数据建模的概念相当熟悉,所以我尝试使用 Spring Boot 制作一个 API,包括使用 Hibernate/Javax 持久性的 String Boot Starter Data JPA。
我想要做的是能够通过 REST 发布请求(使用 Postman 进行测试)。我有这个适用于普通 POJO,但是我有一个 JoinColumn,它都有点梨形。
例如,我有以下内容:
......作为父母,有点像,带着下面的孩子......
这个想法是,对于每个customer
,可能有许多scheme
条目。
我想通过 REST 发布一个对象,并引用该对象所属scheme
的父级,就像这样customer
scheme
(我已经尝试了很多变种customer
)
我已经尝试了各种方法,customer
直到null
我@RequestBody
添加了@JsonProperty
. 这被认为@RequestBody
是一个完整的customer
对象,但它真的不喜欢它并且有一个unsaved transient entity
例外。现在的问题是,它仍然没有达到我希望达到的效果——通过传入一个客户参考,从而customer_id
正确设置列(或通过 fk/lookup 建立的关联)。
这对 REST 可行吗?我在类方法中进行了类似的工作,只需${customerId}
使用 Thymeleaf 设置表单,它也返回一个scheme
对象并愉快地持续存在
java - javax.persistence.OptimisticLockException VS org.springframework.orm.ObjectOptimisticLockingFailureException
我在 SpringBoot 应用程序中有这段代码。SpringBoot v1.5.14.RELEASE
但我在应用程序中有这个例外:
OptimisticLockException
和之间有什么区别ObjectOptimisticLockingFailureException
?我怎么知道哪个异常会抛出应用程序?
java - 尽管未使用复合键,但收到错误“外键必须与引用的主键具有相同的列数”
运行具有以下类的项目失败:
org.hibernate.MappingException: 外键 (FK9ex9b0501jh788ukls6wuglix:a_bc [bc_id])) 的列数必须与引用的主键 (bc [b_id,c_id]) 相同
实体 B、C 和 BC 按预期工作。B 和 C 使用 BC 作为连接表相互连接。
当引入实体 A 并将其与 BC 关联时,就会出现问题。BC 充当连接表,但它也是另一个连接表 (A_BC) 的一部分,我认为这是导致错误的原因,但我不明白为什么或如何修复它。
spring - 在 spring + hibernate 中保存 creationTimestamp 和 updatedTime
我需要使用方法 1 尝试使用 createdDate 和 updatedDate 更新 postgres 数据库,但它正在插入空值。当我阅读时,@prepersist 注释似乎不适用于会话。
所以我决定使用方法 2:Hibernate @CreationTimeStamp Annotation,我添加了 hibernate-annotations maven 依赖项,但是 @CreationTimeStamp 没有解决并给出编译错误。
有人可以告诉我如何解决这个问题吗?
方法 1 使用 @Entity 和 @Table 注释的实体类
实现类是
方法 2 使用 @CreationTimeStamp 和 @updatedTimeStamp。但是maven依赖
不将这些注释添加到类路径
jpa - TransactionRequiredException 在 try/catch 异常块中持续存在时
我没有使用 Spring,所以没有任何帮助,只是简单的 Java EE 7,我为批处理作业构建了一个步骤监视拦截器,它记录每个步骤(成功与否)并将结果保存在 DB 中。现在,对于不成功的步骤,我捕获了异常并调用了 logQueryOutcome 方法,似乎当抛出异常时,事务不再可用,我也无法开始新的事务。
在注入的 MonitoringRepository 类中,logStepResults 的实现是:
为了这个问题,我简化了我的代码。我的问题是为什么此事务对于批处理作业步骤的正常流程工作正常,并且在引发异常时无法持续存在,是否有解决方法?我尝试使用 dontRollbackOn 为异常添加事务,我在所有方法中尝试了诸如 REQUIRED 或 REQUIRES NEW 之类的 TransactionAttribute,但没有运气。我正在从事的项目也迫使我只使用注释方法,因此目前无法使用 Session 或从实体管理器获取事务。这是例外:
java - javax.persistence 不包含在 Spring Data jpa 中吗?
我刚刚创建了一个具有此依赖项的 Maven 项目
但我意识到所有这些类都没有找到:
所以我必须将依赖项更改为
我觉得很奇怪,因为上次更新来自Aug 21, 2017
没有包含 javax.persistence 的 spring 依赖项????