我想找到一种方法来获取下面的对象特定例程并将其抽象为一个方法,您可以传递一个类,列表和字段名来获取一个Map.如果我可以在所使用的模式上获得一般指针,或者等等,这可以让我开始朝着正确的方向前进.
Map<String,Role> mapped_roles = new HashMap<String,Role>();
List<Role> p_roles = (List<Role>) c.list();
for (Role el : p_roles) {
mapped_roles.put(el.getName(), el);
}
Run Code Online (Sandbox Code Playgroud)
这个?(伪代码)
Map<String,?> MapMe(Class clz, Collection list, String methodName)
Map<String,?> map = new HashMap<String,?>();
for (clz el : list) {
map.put(el.methodName(), el);
}
Run Code Online (Sandbox Code Playgroud)
可能吗?
我目前有一个带有以下sql的硬编码视图:
select username
,(case user_role.role_id when 1 then true else false end) as ROLE_SUPER
,(case user_role.role_id when 2 then true else false end) as ROLE_ADMIN
,(case user_role.role_id when 3 then true else false end) as ROLE_VIEW
,(case user_role.role_id when 4 then true else false end) as ROLE_USER
,(case user_role.role_id when 5 then true else false end) as ROLE_EMAIL
from user
left outer join user_role on user.id=user_role.user_id
left outer join role on user_role.role_id = role.id;
Run Code Online (Sandbox Code Playgroud)
我的问题是,是否可以从角色表中的记录动态生成角色列.