我在mysql中有3个表
id
(自动增量)(PK)
user_name
password
first_name
last_name
created_at
modified_at
email
user_id
(PK)
role_id
(PK)
id
(PK)
name
映射文件User.hbm.xml
映射文件User_Role.hbm.xml
映射文件Role.hbm.xml
<id name="RoleId" column="id">
<generator class="identity"/>
</id>
<property name="Name" column="name" length="64"/>
我想使用查询
从这些表中获取信息SELECT u。*,r.name 来自用户u JOIN user_role ur ON UR.user_id = u.id. 在UR.role_id = r.id
上加入角色r我试过这段代码 ICriteria Criteria = session.CreateCriteria(typeof(User)); Criteria.CreateAlias(“User_Role”,“User_Role”); Criteria.CreateAlias(“User_Role.Role”,“UsrRole”); Criteria.Add(Expression.Eq(“id”,Uid)); 但它显示错误 有人可以帮忙吗?
答案 0 :(得分:1)
实体之间的关系是通过映射完成的,而不是通过查询完成的。您可能希望阅读一些最小的文档。