2016-07-07 1 views
0

기존 데이터베이스 테이블의 Netbeans에서 생성 된 User 엔터티가 있습니다. 테이블에는 사용자 엔티티 인 열 lastUpdatedByUser가 있습니다. 이 데이터베이스의 대부분의 테이블에는 lastUpdatedByUser 열이 있으며 해당 엔터티에 대한 쿼리는 사용자 개체를 결과의 일부로 올바르게 반환합니다.JPA 재귀 적 개체 StackOverflowError

Ex. Retrieve FROM ProductionTable WHERE date = 'someDate'는 테이블 행을 마지막으로 업데이트 한 사용자와 나머지 사용자 속성을 표시하는 lastUpdatedByUser 객체를가집니다.

web-app에서 productionTable 데이터를 편집하고 제출 한 경우 lastUpdatedByUser 열을 업데이트해야합니다.

Users userUpdating = usersService.selectUserEntityByUserId(userId); 
Users userEntity = usersFacade.findSingleWithNamedQuery("Users.findByUserId", parameters); 
SELECT u FROM Users u WHERE u.userId = :userId 

내가 얼마나 많은 단서가 없다 (있습니다 .... lastUpdatedByUser 개체를 포함하는 사용자 개체 인 lastUpdatedByUser를 포함하는 사용자 개체 인 lastUpdatedByUser를 포함하는 사용자 개체를 반환하고, 스무 이들의 행 내가이

productionEntity.setLastUpdatedByUser(userUpdating); 

내가 업데이트 된 개체

에 대한 다음 요청에 JSON에 StackOverflowError를 얻을 지속 한 후

)까지 추가

사용자의 개체 정의 :

@OneToMany(mappedBy = "lastUpdatedByUser") 
private Collection<Users> usersCollection; 
@JoinColumn(name = "LastUpdatedByUser", referencedColumnName = "UserId") 
@ManyToOne 
private Users lastUpdatedByUser; 
@OneToMany(mappedBy = "lastUpdatedByUser") 
private Collection<Production> productionCollection; 

편집 할 수있는 방법이 내가 사용자 개체에 대한 생산과 같은 다른 기관의 일부로서 사용자 개체하지만, 단 하나의 lastUpdatedByUser 객체를 얻기 위해 계속 같은?

어떤 통찰력에도 감사드립니다. ======= 내가

사랑 자신의 사용자 아이디로 사용자 테이블에서 FK를 발견

@JoinColumn(name = "LastUpdatedByUser", referencedColumnName = "UserId") 

리팩토링 :이 같은데요

답변

0

내 문제입니다 ========================= Users (사용자) 테이블에서 FK와 넷빈즈에서 개체를 다시 생성 내가

를 얻을

드롭 좋아

private Integer lastUpdatedByUser; 

는 대신

private Users lastUpdatedByUser; 

지금은 사용자 테이블과 코드 ... 청취

덕분에 유효한 FKS있는 모든 개체를 편집 할 수

해야한다.