问题标签 [spring-data-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 - JPA 连接两个辅助表
我有这五张桌子:
通过使用 JPA,我创建了这三个实体类:
类 common.contact.City
/li>类 common.contact.State
/li>类 common.system.Language
/li>
但是当我尝试运行这个查询时
我收到此错误:
仅供参考,添加以下数据:
REF_CT
REF_CT_L
REF_ST
REF_ST_L
参考语言
生成的 SQL 是:
谢谢你的帮助!
java - JPA 存储库:javax.persistence.NonUniqueResultException:结果返回多个元素
使用下面的代码我无法得到我的查询结果。无论我使用Map<ContentType...
还是Map<String...
我得到相同的错误:javax.persistence.NonUniqueResultException:结果返回多个元素
JPA 似乎应该能够处理存储库中的多行。我四处寻找可能只是丢失的其他注释,并且很难得出结果。
关于我应该做些什么来解决这个问题的任何建议?
jpa - 无法使用 spring 3.1 使 JTA 在 jboss AS7.1 上工作
我们正在尝试配置一个 Spring 应用程序来处理 JTA 事务。并不是说它失败了,而是我们尝试的一切都只是进行选择并忽略了我们的持久性操作。
正如您在以下日志中看到的,即使保存语句运行,也没有插入语句,也没有异常,也没有错误/警告日志
服务器日志
就像认为应用程序服务器认为一切正常。而如果您检查表,则没有进行插入或更新。
我们打算与 spring 应用程序一起使用的数据源已被运行在同一应用程序服务器中的 Java EE war 应用程序成功地用于 JTA 事务。
由于我们不知道问题可能出在哪里,我想把它放在完整的上下文中。
- 春季 3.1.2-RELEASE
- 休眠 4.1.5.Final
- spring-data-jpa 1.1.1.Final
- 阿帕奇轴1.4
- jboss AS7.1
- 数据库:甲骨文 10g
我们一直在尝试各种疯狂的配置以使其正常工作,所以我将在这里复制最简单的配置。
独立的.xml
web.xml
spring-jpa-config.xml
过去我们制作了 jboss AS5/Spring 3.0 应用程序来处理 JTA 事务,所以这不是我第一次这样做,我们一直在寻找我能找到的所有可能的博客和开源项目。然而,在我的应用程序中,任何似乎对每个人都顺利运行的东西似乎都被忽略了。我确信应该是我们在某个地方遗漏了一些非常愚蠢的东西,但到目前为止我们已经尝试了 70 多种不同的配置,但似乎没有一个能做一个简单的插入,否则在不尝试 JTA 时可以正常工作。
(我们使用轴 1.4 的事实可能相关或不相关,但我想告诉您,因为我们的应用程序仅在 Web 服务调用后触发操作)。在这一点上,我们开始相信配置超自然活动......
任何线索任何人?
java - JPA Data Repository 结果丢失其数据类型
我正在尝试获取以下代码来显示我的查询结果。不幸的是,它不起作用。
在我的服务层上,我做...
objects
最终Object[]
在变量调试器中。我不确定为什么它不遵守Map<String, Integer>
我告诉它使用的。
我在想作为替代方案,我可以只返回一个对象列表。我试图在谷歌周围试图找出要搜索哪些关键字才能找到这样的结果。虽然理想情况下我想避免只为这个查询结果创建一个对象,如果它只是返回Map
!
java - 如何在简单的 Servlet 中使用 Spring Data JPA?
我对 Spring 很陌生,但我正在开发一个使用 Spring Data JPA 为 JPA 实体生成存储库的项目。
我目前正在添加一个简单的模块,以便能够在网页上显示一些数据。我添加了一个 Servlet,但我无法从那里访问存储库。
我在 web.xml 中添加了一个 ContextLoaderListener,我在 applicationContext.xml 中引用了 jpa:repositories 和 persistence.xml,但我目前遇到了这个异常:
没有定义类型为 [javax.persistence.EntityManagerFactory] 的唯一 bean:预期为单个 bean,但发现为 0。
但是当我在 persistence.xml 添加一个 EntityManagerFactory 时,我收到以下神秘消息:
java.lang.IllegalAccessError:试图从类 org.hibernate.engine.spi.EJB3CascadeStyle 访问字段 org.hibernate.engine.spi.CascadeStyle.STYLES
我的问题是:我正在尝试做的事情是否可能?如果是这样,怎么办?还是我应该咬紧牙关,完全使用 Spring MVC 或其他东西?
注意:这仅适用于单页网站,我试图使其尽可能简单。
jpa - 关系ManyToOne,javax.persistence.EntityExistsException:具有相同标识符值的不同对象已与会话关联
我花了很多时间寻找这个错误,但我无法解决这个问题。我将 Spring JPA 与 Hibernate 和 Postgre 一起使用。我有两个实体 Location 和 Ap:
应用:
位置2
当我将一个位置添加到 Ap 时,它可以工作,但是当 Ap 有两个或更多位置时,我无法保存 Ap 实体。
应用服务:
它会出现错误:
我还尝试了 EntityManager 与 merge 和 persist 方法,这给出了同样的错误。请帮忙。
spring - Spring Data DomainClassConverter 不起作用(与 Java Config 结合使用)
我正在尝试设置 Spring Data/JPA DomainClassConverter 以自动将(字符串)id 转换为域类本身。
我的项目是使用 Java Config(所以没有 xml)。
在我的 WebConfig 中,我目前有:
这似乎成功连接了 DomainClassConverter,因为我可以在打印时在转换服务中看到它:
但是当提交嵌套表单(带有客户参考的订单)时,客户不会自动转换,因此我得到:
我想知道我是否在这里做错了什么?
spring - 弹簧标签不使用 Spring Data DomainClassConverter?
我正在使用 Spring MVC 和 Spring Data,并且还配置了 Spring DataDomainClassConverter
以自动将 String id 转换为适当的 Domain 类。
我现在正在使用以下标签实现 Order to Customer 参考:
这导致给定的HTML:
当提交选择客户 A 的帖子时,我得到一个例外,例如:
这根本没有意义,因为收到的值应该是 1 而不是 ''。我还调试了收到的请求参数,它只包含 customer=1 (如预期的那样)
请注意,它InvalidDataAccessApiUsageException
来自 Spring Data DomainClassConverter
,如果我删除了这个转换器,问题就不会再发生了。
我还调试了DomainClassConverter
它,我可以看到它试图覆盖两次。首先使用字符串值 1(如预期的那样),然后使用空字符串进行另一个调用,导致异常。
然而它变得更奇怪了......
当我<form:option value="" label="Select" />
用普通的 html 元素替换时<option value="">Select</option>
,不会发生异常,因此只使用字符串 1 对 convert 方法进行 1 次调用。奇怪的部分是两者都<form:option value="" label="Select" />
产生<option value="">Select</option>
相同的 html 输出......
我无法解释这种行为......虽然我似乎有一个使用普通 html 元素的“解决方法”,但我想知道是什么导致了这个问题。
java - Spring - JPA - 插入 - 不为具有默认抛出错误的字段传递值
表中的一些不可为空的字段具有默认值。通过 JPA 将新行插入表中时,我不想为这些字段传递任何值,以便它们获得默认值。但是,当通过 Spring JPA 存储库类插入新行时,出现无法插入空值的错误。我注意到 JPA 发送到数据库的插入语句列出了所有字段:
由于 field2 和 field3 指定了 null,因此未分配默认值,并且数据库抛出无法插入 null 值的错误。有解决方法吗?
inheritance - JPA 继承、Spring Roo 和 Spring Data JPA 的设计问题
我目前正在开发一个 Spring Roo/JPA 应用程序,最近我切换到基于 JPA 继承的域模型。总结一下我的域模型,我有一个抽象Member
实体,它由两个实体子类化:Male
和Female
.
在我所有的 Spring MVC 控制器中,我希望避免总是注入两个服务依赖项(一个处理Male
实体,另一个处理Female
实体)。我宁愿拥有一项MemberService
服务(连同相应的MemberRepository
),它会返回一个Male
实例或一个Female
实例。
以上是否可以使用 Spring Roo 注释,例如:
@RooService(domainTypes = { Member.class })
或者那个:@RooJpaRepository(domainType = Member.class)
?
例如,这会Member findByEmail(String email);
返回一个我可以转换为Female
orMale
类型的对象吗?
更一般地说,在 Spring 控制器和 Spring 服务级别处理实体继承的最佳实践是什么?