0

Spring Boot 应用程序具有三个实体/表,如 A、B、C,其中实体 A OneToOne 到实体 B,实体 B OneToOne 到实体 C,这里我们从实体 C 获取多条记录,用于 B 到 C 中的 cid 映射由于 cid 有重复记录。有没有办法从表 C 中仅获取单个记录(如第一条或最后一条记录)作为其重复项,因此对于相同的 cid 和相关详细信息是重复的。这里的限制是我们无法控制 DB 以使数据唯一。

A 实体加入 B:@OneToOne

B 实体与 C 连接:

@OneToOne (optional=true)
@JoinColumns({
@JoinColumn(updatable = false, insertable = false, name = "bcid", referencedColumnName = "cid")})
private C c;

存储库:

@Query("select a from A a where a.AId = :aId")
List<A> findByAId(@Param("aId") String aId);

出错

org.hibernate.HibernateException:找到了多行具有给定标识符的行:com ...,对于类:

我们如何从该 id 的重复项中获得单行返回?

4

0 回答 0