Open GoogleCodeExporter opened 9 years ago
List<UserEntity> users = dao.query(UserEntity.class, null, null); // 获取
所有的 User
for(UserEntity u : users)
dao.fetchLinks(u, "role"); // 获取没个 User 的 role 字段
// 循环打印
for(UserEntity u : users)
System.out.printf("%s, %s\n", u.getRole().getName(), u.getName());
Original comment by zozoh...@gmail.com
on 27 Apr 2010 at 1:22
当然如果仅仅是为了获得 role
的名称,更好一点的办法是采用视图
===================================================
第一步: 创建视图
CREATE VIEW v_user AS
SELECT *, rnm=(SELECT roleName FROM role WHERE role.id = u.id)
FROM user AS u;
===================================================
第二步: 修改 UserEntity 为:
@Table("user") // 数据表,更新,删除,插入,将操作它
@View("v_user") // 声明了 @View, 查询操作将操作这个视图
public class UserEntity{
@Column
private Integer role_id;
@One(target = roleEntity.class, field = "role_id")
private roleEntity role;
@Column("rnm")
@Readonly // 声明了这个注解, 更新,插入操作将忽略这个字段
private String roleName;
}
===================================================
第三步: 查询 UserEntity 时自然会得到 RoleName
List<UserEntity> users = dao.query(UserEntity.class, null, null); // 获取
所有的 User
// 循环打印
for(UserEntity u : users)
System.out.printf("%s, %s\n", u.getRoleName(), u.getName());
=========================================================
相关 wiki 为: http://code.google.com/p/nutz/wiki/dao_view
Original comment by zozoh...@gmail.com
on 27 Apr 2010 at 1:31
等创建了相关的 Demo ,这个 Issue 可以设为 WontFix
Original comment by zozoh...@gmail.com
on 27 Apr 2010 at 1:32
真对这种情况,写两个 Demo,一个用 View 一个用 自定义 SQL
Original comment by zozoh...@gmail.com
on 27 Apr 2010 at 1:51
Original comment by wendal1985@gmail.com
on 13 May 2010 at 10:25
Original issue reported on code.google.com by
zozoh...@gmail.com
on 27 Apr 2010 at 1:18