2012-06-09 6 views
0

해야하는 질문은 잘 모르겠지만 프로젝트에 새 계정을 만들려고합니다. 그 방법으로는 내 사용자 엔터티를 CascadeType.ALL, 이 계정 방법을 만드는 경우에만 사용할 수 있습니다. USER 클래스를 사용하는 다른 메소드에는 해당되지 않습니다.런타임시 최대 절전 모드로 전환

특정 특정 방법에 대해 런타임에 FetchType.LAZY을 사용하려는 경우처럼 나는 criteria.setFetchType.LAZY이라는 기준으로 구현하고 내 엔티티 내부에는 구현하지 마십시오.

마찬가지로 응용 프로그램의 런타임에 CascadeType.ALL을 구현할 수 있습니까? 여기

는 지금은 그냥이 캐스케이드 기능이 내부에 정의 할, 여기

public Class UserEntity implements Serializable 

    @Cascade({ CascadeType.ALL }) 
    @JoinColumn(name="teamId") 
    private TeamEntity teamId; 
} 

내 방법이있는 내가이 캐스케이드 기능을 사용하고 있습니다 잘 작동 내가 캐스케이드를 적용하고있는 내 엔티티 클래스이다 메서드에서 제거하고 엔터티에서 제거하십시오.

이것이 가능합니까? @Cascade({ CascadeType.Save })

public String addTeam(UserEntity userInfoEntity) throws Exception{ 
    Session session = sessionFactory.openSession(); 
    try { 
     Transaction tr = session.beginTransaction(); 
     Criteria crit = session.createCriteria(UserInfoEntity.class); 
+0

캐스케이드는 두 엔티티 간의 연결 속성입니다. 이는 엔티티의 자산이 아닙니다. 귀하의 질문은별로 의미가 없습니다. 몇 가지 코드를 보여주고 실행하려는 작업을 설명하십시오. –

+2

캐스케이드에 대한 최대 절전 모드 문서는 사용자가 이해하지 못하기 때문에 읽습니다. 귀하의 질문은 전혀 이해가되지 않습니다. 엔티티를 쿼리 할 때 계단식 작업이 없습니다. –

+0

https://forum.hibernate.org/viewtopic.php?p=2312128#2312128 여기 다른 누군가가 동일한 질문을하고 있습니다. 몇 가지 해결책을 제공하고 있습니다. 질문과 답변을 이해할 수 있습니다. – user1226162

답변

0

세트 캐스케이드 만 작업 저장 (사용자 만 권한을 만드는 일이된다?) 연쇄합니다.

+0

감사합니다. 저장, 업데이트를 위해 작동하지만 지금 내 삭제 쿼리가 작동하지 않습니다. 어떤 생각이 .. – user1226162

+0

나는이 특별한 경우를 제외하고는 캐스케이드하고 싶지 않은 질문을 해석했습니다. 계단식이 필요한 경우 모두 설정하십시오. AFAIK 런타임에서이 동작을 재정의 할 수 없으며이를 필요로하는 사용 사례를 본 적이 결코 없습니다. – Firo

관련 문제