1
Iam은 EJB-JPA-JSF 프로젝트를 개발 중입니다. 그러나 나는 문제가있다. 나는이 쿼리에 대한 오류를 얻을 :JPA-Hibernate-EJB : 지정된 식별자를 가진 행이 두 개 이상 발견되었습니다.
select u from Ucretlendirme u join u.tarife_KullanimTipiServis tks join tks.kullanimTipiServis ks join ks.servis s join tks.tarife t join ks.kullanimTipi k where s.servisID=:sID and t.tarifeID=:tID and k.kullanimTipiID=:kID
Error: javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.HibernateException: More than one row with the given identifier was found: 1, for class: tr.com.vodafone.optimum.entities.Period
가 어떻게이 오류를 해결할 수
@Entity
public class Period {
...
@ManyToOne
private PeriyodType periodType;
@OneToOne(mappedBy="period")
private Ucretlendirme ucretlendirme;
}
@Entity
public class PeriyodType {
....
@OneToMany(mappedBy="periodType",fetch=FetchType.LAZY)
private List<Period> periyodlar;
}
데이터베이스에서
@Entity
public class Servis {
@OneToMany(mappedBy="servis",fetch=FetchType.LAZY)
private List<KullanimTipi_Servis> kullanimtipi_servisler;
}
@Entity
public class KullanimTipi {
....
@OneToMany(mappedBy="kullanimTipi",fetch=FetchType.LAZY)
private List<KullanimTipi_Servis> kullanimtipi_servisler;
}
HQL 쿼리는 동일한 ID를 가진 중복 된 엔티티를 반환해야합니다. SQL 로깅을 활성화하고 select를 손으로 실행하고 반환 할 내용을 확인하십시오. – Ammar
감사합니다.이 문제를 해결합니다. 나는 자리를 놓쳤다. 인스턴스 저장시, ı는 각각 인스턴스 인스턴스를 저장해야합니다. 내가 틀렸어. –