2009-07-22 3 views
0

ist dies die richtige Art der Verwendung? weil es nicht funktioniert. Ich habe das gleiche im RoleDAO. Die zwei Tabellen für Benutzer und Rollen werden generiert, die Tabelle, die die Benutzer-ID mit der Role-ID verknüpft, jedoch nicht.Hibernate vieletomany xdoclet

(weitere Informationen über die Syntax unten http://xdoclet.codehaus.org/HibernateTags#HibernateTags-hibernate.manytomany winter xdoclet Tags)

/** 
* @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; 
} 

Fokus bitte auf
many-to-many-column = "Rollen-ID" class = "domain.company.product.service. cm.RoleDAO.java“

edit:

ok. jetzt mit:

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; 
} 

aber immer noch nicht die Tabelle, die Rollen und Benutzer verbindet.

Antwort

0

hier ist, wie ich es endlich geschafft, es zu tun.

(von UserDAO)

/** 
* @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

Zum ersten Mal sehe ich diese Art von Syntax ... sieht komisch aus. Soll das Ganze innerhalb des Javadoc-Kommentars sein?

Wie auch immer, wenn Sie Anmerkungen verwenden, die Art und Weise soll dies zu tun:

[in Klasse User]

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

[und in der Klasse Rolle]

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

Dies ist Hibernate wir reden über ... Ich hoffe, es funktioniert für Sie = 8-)

+0

lol ja thnx :) Hass Legacy-Unterstützung. und ja, das Ganze ist ein Javadoc. – b0x0rz

+0

versuchte es. immer noch nicht (sehen) den Tisch, der sie verbindet ... ?? – b0x0rz