我在使用spring数据从1对1关系btn表检索数据时遇到了一个问题。我已经回顾了平台上的几个解决方案,但奇怪的是,在问题首次出现之前,我已经实现了所有建议的解决方案。请帮助我找到我所缺少的东西,或是使对他人有用的解决方案对我无效的任何东西。
以下是这两个实体之间的关系
@Entity
@Table(name = "wagon_loading")
public class WagonLoading implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private long id;
@OneToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "allocation_id", referencedColumnName = "id", nullable = false, updatable = false)
@OnDelete(action = OnDeleteAction.NO_ACTION)
private WagonAllocation wagonAllocation;
}
@Entity
@Table(name="wagon_allocation")
public class WagonAllocation extends AuditModel{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id", columnDefinition = "Serial NOT NULL", updatable = false)
private long id;
@OneToOne(mappedBy="wagonAllocation", orphanRemoval = true ,cascade = CascadeType.ALL)
private WagonLoading wagonLoading;
}
错误消息:
2021-12-23 15:02:42.116错误11144---[nio-8089-exec-5]o.a.c.c.c.c。[.[.[/].[dispatcherServlet]:Servlet。路径为[]的上下文中servlet[dispatcherServlet]的服务()引发异常[请求处理失败;嵌套异常为org.springframework.orm.jpa.JpaSystemException:找到具有给定标识符的多行:676,对于类:tz.go.trc.trc_cargo.cargo.models.WagonLoading;嵌套异常为org.hibernate.hibernate异常:找到具有给定标识符的多行:676,对于类:tz.go.trc。trc_货物。货物模型。WagonLoading]有根本原因
错误来自对以下wagonAllocation存储库函数的调用:
public interface WagonAllocationRepository extends JpaRepository<WagonAllocation, Long> {
List<WagonAllocation> findAllByWagonAllocationStatusNotIn( List<WagonAllocationStatus> allocationStatuses );
}
您是否检查了您的桌上货车分配中是否只有一个货车分配关联?看来你不能用一个,只能用一个
我有一个实体:与实体:之间的关系如下: QueryParameter实体: HtmlElement实体: 组件实体: 类型实体: 基本上,这里的关系意味着一个html元素有一个与其相关的组件。 现在,当我想要找到如下所示的所有组件时: 它给出了以下错误: 如果我运行生成的查询,它将返回3行,但这没有任何意义,因为Component有不同的html组件(input、select等),并且HtmlEl
我在我的spring boot应用程序中出现了这个错误。当我想调用这个存储库时,我遇到了这个错误 这是我的存储库: 这就是我称之为此方法的地方: 如何检查方法返回的结果?我调试了我的代码,但在断点它只是返回这个错误。 谢谢你的帮助。
在eclipse中调试时 退回申请。isEmpty()?空:应用程序。得到(0); 这些表达式被计算为 applications.is空()- 应用。获取(0)- 应用。大小()- 但在执行这一行之后,它的抛出错误 组织。冬眠HibernateeException:找到了多个具有给定标识符的行:263536, 即使它的大小显示为1,那么它为什么以及如何在执行后获得多行。
当我尝试使用findById()方法从数据库中获取单个记录时,或者当我尝试使用spring数据REST更新一篇文章时,我遇到了一个异常:找到了具有给定标识符的不止一行。 delete和findAll方法正常工作。 我已经检查了数据库,没有多个相同ID的记录。另外,id是数据库中的唯一键。我见过很多人有同样的错误,但这些人的问题是他们在哪里使用联接。我没有任何加入。 该实体: 存储库: 例外情况:
当我尝试使用findById()方法从数据库中获取单个记录时,或者当我尝试使用spring数据REST更新一篇文章时,我遇到了一个异常:找到了具有给定标识符的不止一行。 delete和findAll方法正常工作。 我已经检查了数据库,没有多个相同ID的记录。另外,id是数据库中的唯一键。我见过很多人有同样的错误,但这些人的问题是他们在哪里使用联接。我没有任何加入。 该实体: 存储库: 例外情况:
我正在开发EJB-JPA-JSF项目。但是我有一个问题。我得到这个查询的错误: 如何修复此错误