2014-11-17 3 views
0

최대 절전 모드 4.2에서 작동하는 작업 응용 프로그램이 있습니다. * 최대 절전 모드로 업그레이드 할 때 4.3.5 다음 예외가 있습니다. 다음 JPA 쿼리를 데이터베이스에JPA hibernate 4-2- *에서 4-3-5 예외로 업그레이드

SELECT A FROM MAIL_INTERNAL_COPY A WHERE mail.id = 172 

기록 (172).

예외 :

에 javax.ejb.EJBException : javax.persistence.EntityNotFoundException : ID로 com.wish.diwan.model.client.mail.entity.MailBean을 찾을 수 수 없습니다 (172)

내 엔티티 :

@Entity(name="MAIL_INTERNAL_COPY") 
@Table(name="MAIL_INTERNAL_COPY") 
public class MailInternalCopyBean 
. 

@ManyToOne(fetch=FetchType.EAGER) 
@JoinColumn(name="MAIL_ID",referencedColumnName="ID",nullable=false) 
private MailBean mail; 

는이 작업 한 4.2 최대 절전 모드 * 내가,369을 변경해야 할이 4.3.5에서 작업 할 수 있습니다.fetch = FetchType.EAGER = FetchType.Lazy로 가져 오지 만 게으른 것으로 변경하지 않으려면

이게 다른 버그입니까?

SELECT A 
FROM MAIL_INTERNAL_COPY A 
JOIN A.mail m 
WHERE m.id = 172 

을 또한 당신이 연결을 표시하기 때문에 (널 (null)로 설정 MailBean을 가진 더 MailInternalCopyBean DB 엔트리가없는 있는지 확인하십시오

감사 Wish79

답변

0

대신 가입 암시로 변경합니다 nullable = false).

+0

덕분에, 내가 같은 문제로 그것을 시도, 그것은이다 @ManyToOne에 (가져 오기 = FetchType.Lazy) (= FetchType.EAGER 가져 오기) 왜이 작업이 최대 절전 모드 4.2에서 작동하고 4.3에서 작동하지 않는지, 모든 가져 오기 유형을 게으르게 변경해야하거나 최대 절전 모드에서 잘못 처리해야합니다. 4.3.5 – wish79

0

해결책을 찾았습니다. 최대 절전 모드를 4.3.5에서 4.3.7로 업그레이드하면 문제가 사라집니다. 내가 @ManyToOne을 변경 한 경우, 응답에 대한

덕분에 모든 Wish79