Java liferay查找器方法始终返回null
我的实体:Java liferay查找器方法始终返回null,java,sql,liferay,Java,Sql,Liferay,我的实体: <entity name="Role" local-service="true" remote-service="false"> <column name="id" type="long" primary="true" /> <column name="system_id" type="int" /> <column name="user_id" type="int" /> <column name
<entity name="Role" local-service="true" remote-service="false">
<column name="id" type="long" primary="true" />
<column name="system_id" type="int" />
<column name="user_id" type="int" />
<column name="comment" type="String" />
<column name="status_id" type="int" />
<column name="create_date" type="Date" />
<column name="update_date" type="Date" />
<column name="systemrequest_id" type="int" />
<order by="asc">
<order-column name="id" />
</order>
<finder name="bySystem" return-type="Collection">
<finder-column name="system_id"/>
</finder>
<finder name="byUser" return-type="Collection">
<finder-column name="user_id" />
<finder-column name="status_id" />
</finder>
<finder name="byId" return-type="gad">
<finder-column name="id" />
</finder>
</entity>
我已使用mvn liferay:build服务部署了该服务
最后,我想在我的portlet中的doView
方法中使用这个finder方法:
@Override
public void doView(RenderRequest renderRequest, RenderResponse renderResponse) throws IOException, PortletException {
List<PersonRoleHelper> personRoleList = new ArrayList<PersonRoleHelper>();
try {
List<User> userList = UserLocalServiceUtil.getUsers(1, UserLocalServiceUtil.getUsersCount());
for (User user : userList){
List<Role> roleList = RoleLocalServiceUtil.findBybyUser((int)user.getUserId(), 2);
logger.info ("list size: "+roleList.size());
}
personRoleList.add(roleList);
renderRequest.setAttribute("roles", personRoleList);
} catch (SystemException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
super.doView(renderRequest, renderResponse);
}
@覆盖
public void doView(RenderRequest RenderRequest,RenderResponse RenderResponse)抛出IOException、PortletException{
List personRoleList=新建ArrayList();
试一试{
List userList=UserLocalServiceUtil.getUsers(1,UserLocalServiceUtil.getuserscont());
for(用户:userList){
List roleList=RoleLocalServiceUtil.findBybyUser((int)user.getUserId(),2);
logger.info(“列表大小:+roleList.size());
}
添加(角色列表);
setAttribute(“角色”,personRoleList);
}捕获(系统异常e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
super.doView(renderRequest,renderResponse);
}
在日志中,我一直看到列表大小:0
。我错过了什么?我应该如何访问finder方法以获得结果?使用在SQL
中运行查询,其中user_id=1,status_id=2
返回结果您实际想要实现什么?您的service.xml
在哪里?它是在您的自定义portlet中,还是您想要修改liferay的service.xml
?可能与您实际想要实现的目标重复?您的service.xml
在哪里?它是在您的自定义portlet中,还是要修改liferay的service.xml
?可能存在重复的
@Override
public void doView(RenderRequest renderRequest, RenderResponse renderResponse) throws IOException, PortletException {
List<PersonRoleHelper> personRoleList = new ArrayList<PersonRoleHelper>();
try {
List<User> userList = UserLocalServiceUtil.getUsers(1, UserLocalServiceUtil.getUsersCount());
for (User user : userList){
List<Role> roleList = RoleLocalServiceUtil.findBybyUser((int)user.getUserId(), 2);
logger.info ("list size: "+roleList.size());
}
personRoleList.add(roleList);
renderRequest.setAttribute("roles", personRoleList);
} catch (SystemException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
super.doView(renderRequest, renderResponse);
}