2013-01-16 4 views
0

나는 Hibernate 4.1.0.Final, Spring 3.1.1.RELEASE 및 MySQL 5.5를 사용하고있다. 나는이 기업이 ...JoinTable에서 계단식 삭제에 적절한 주석은 무엇입니까?

@GenericGenerator(name = "uuid-strategy", strategy = "uuid.hex") 
@Entity 
@Table(name = "user") 
@Cacheable 
public class User implements Serializable 
{ 
    …  
    @OneToMany(fetch = FetchType.EAGER) 
    @JoinTable(name = "user_contracts", 
       joinColumns = @JoinColumn(name = "user_id"), 
       inverseJoinColumns = @JoinColumn(name = "contract_id")) 
    /* List of contracts for which this user has registered. */ 
    private Set<Contract> contracts; 

어떻게 계약 객체가 삭제 된 경우 등은, 조인 테이블의 해당 레코드 ("user_contracts은")도 제거된다는 "계약"필드와 사용자 주석을 수행 엔티티가 제대로 업데이트 되었습니까? 나는 ...

CREATE TABLE `user_contracts` (
    `USER_ID` varchar(32) COLLATE utf8_bin NOT NULL, 
    `CONTRACT_ID` varchar(32) COLLATE utf8_bin NOT NULL, 
    UNIQUE KEY `UK_USER_CONTRACTS` (`USER_ID`,`CONTRACT_ID`), 
    KEY `FK2_USER_CONTRACTS` (`CONTRACT_ID`), 
    CONSTRAINT `FK1_USER_CONTRACTS` FOREIGN KEY (`USER_ID`) REFERENCES `user` (`ID`) ON DELETE CASCADE ON UPDATE NO ACTION, 
    CONSTRAINT `FK2_USER_CONTRACTS` FOREIGN KEY (`CONTRACT_ID`) REFERENCES `contract` (`ID`) ON DELETE CASCADE ON UPDATE NO ACTION 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin 

감사를 MySQL의 테이블 선언을 반영하기 위해 필드 싶습니다 - 데이브

+0

는 희망에 내 대답을 삭제 시도 . –

답변

0

다른 누군가가 당신을 도울 수 있습니다

@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.DELETE)