这是正确的使用方式吗?因为它不管用。我在RoleDAO里也有同样的东西。为用户和角色生成两个表,但是链接userid和roleid的表不是。
(关于语法http://xdoclet.codehaus.org/HibernateTags#HibernateTags-hibernate.manytomany hibernate xdoclet标记的更多信息)
/**
* @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;
}请注意
class="domain.company.product.service.cm.RoleDAO.java" 多对多column="roleID“
编辑:
好的。现在使用:
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;
}但是仍然没有看到连接角色和用户的表。
发布于 2009-07-23 07:17:06
这就是我最后是如何做到的。
(来自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;
}发布于 2009-07-22 11:15:53
我第一次看到这种语法..。看起来怪怪的。整件事应该在javadoc注释中吗?
无论如何,如果您使用注释,则应该使用以下方法:
在类中用户
@ManyToMany
@JoinTable(name="USER_ROLE",
joinColumns=@JoinColumn(name="USER_ID", referencedColumnName="USER_ID"),
inverseJoinColumns=@JoinColumn(name="ROLE_ID")
)
public Set<Role> getRoles() { return roles; }以及在课堂上的角色
@ManyToMany(mappedBy="roles")
public Set<User> getUsers() { return users; }我们说的是冬眠..。我希望它对你有用=8-)
https://stackoverflow.com/questions/1164462
复制相似问题