2011-08-12 3 views
2

을 연결 삭제할 나는 2 entites 있습니다.최대 절전 모드가 엔티티

즉 P1 {U1, U2, U3, U4 P2} {U1, U3, U5, U7}

I 업그레이드가 삭제되면, 모든 미세하다. 그것은 단지 제품에서 제거되었습니다. 그러나 제품을 삭제하면 링크 된 모든 업그레이드가 삭제됩니다.

제품을 삭제하고 업그레이드를 그대로 유지하려면 어떻게해야합니까?

답변

3

Product을 삭제하기 전에 Set<Upgrade>을 지우고 Product을 저장하십시오. 다음과 같이하십시오 :

public void delete(Product p) 
{ 
    p.setUpgrade(Collections.emptySet()); 
    entityManager.remove(entityManager.merge(p)); 
} 
+5

제품이 이미 지속성 컨텍스트에없는 경우에만 병합이 필요합니다. – rit

+0

의견이 일치하지 않습니다. –

+0

그렇다면 업그레이드가 필요한 이유와 업그레이드를 삭제하지 않는 이유에 대해 설명하지 않습니다. –

관련 문제