2009-07-22 4 views
0

이것을 사용하는 올바른 방법은 무엇입니까? 왜냐하면 그것이 작동하지 않기 때문입니다. 나는 RoleDAO에서 같은 것을 가지고있다. 사용자 및 역할에 대한 두 개의 테이블이 생성되지만 userid와 roleid를 연결하는 테이블은 생성되지 않습니다.최대 절전 모드 manytomany xdoclet

= "역할 ID"클래스 = "domain.company.product.service
대다 열

/** 
* @hibernate.id generator-class="native" 
* @hibernate.generator-param name="sequence" value="seq_userid" 
* @hibernate.many-to-many column="roleID" 
*       class="domain.company.product.service.cm.RoleDAO.java" 
*/ 
public Integer getUserID() { 
    return userID; 
} 

초점하시기 바랍니다 (http://xdoclet.codehaus.org/HibernateTags#HibernateTags-hibernate.manytomany 울부 짖는 소리 구문에 대한 추가 정보는 XDoclet에 태그를 최대 절전 모드). cm.RoleDAO.java "

편집 :

확인. 지금 사용 :

private Set<RoleDAO> roles = new HashSet<RoleDAO>(); 

/** 
* @hibernate.many-to-many column="roleID" 
*       class="domain.company.producut.service.cm.RoleDAO.java" 
*/ 
public Set<RoleDAO> getRoles() { 
    return roles; 
} 

그러나 여전히 역할과 사용자를 연결하는 표는 없습니다.

답변

0

여기 내가 마침내 그 일을 처리했습니다.

/** 
* @hibernate.bag table="user_roles" cascade="save-update" lazy="true" 
* @hibernate.collection-key column="roleID" 
* @hibernate.collection-many-to-many 
*         class="domain.company.product.service.cm.RoleDAO" 
*         column="roleID" 
*/ 
public List<RoleDAO> getRoles() { 
return roles; 
} 
0

처음으로 나는 이런 종류의 구문을 본다 ... 이상하게 보인다. 모든 것이 javadoc 주석 안에 있어야합니까? 당신이 주석을 사용하는 경우

어쨌든,이 작업을 수행하는 방법은 다음과 같아야합니다

[클래스 사용자가]

@ManyToMany 
@JoinTable(name="USER_ROLE", 
     [email protected](name="USER_ID", referencedColumnName="USER_ID"), 
     [email protected](name="ROLE_ID") 
) 
public Set<Role> getRoles() { return roles; } 

[수업 역할에서]

@ManyToMany(mappedBy="roles") 
public Set<User> getUsers() { return users; } 

이것은 우리가 말하는 최대 절전 모드 ... 확실히 당신을 위해 일하기를 바랍니다 = 8-)

+0

(UserDAO에서) 롤 그래 thnx : 증오 레거시 지원. 그리고 모든 것은 javadoc입니다. – b0x0rz

+0

시도했습니다. 여전히 그들을 연결하는 테이블을 보지 못하는 것 ... ?? – b0x0rz