user 关联member 之前fetchLinks 查询没有问题 现在改成queryByJoin异常了
@Table("sys_user")
public class User extends BaseModel implements Serializable {
private static final long serialVersionUID = 1L;
@Name
@Column
@Comment("ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
@Prev(els = {@EL("uuid()")})
private String id;
/**
* 部门ID
*/
@Column("dept_id")
@Comment("部门ID")
private String deptId;
/**
* 部门父ID
*/
private String parentId;
/**
* 登录名称
*/
@Column("login_name")
@Comment("登录名称")
private String loginName;
/**
* 用户名称
*/
@Column("user_name")
@Comment("用户名称")
private String userName;
/**
* 密码
*/
@Column("password")
@Comment("密码")
private String password;
/**
* 盐加密
*/
@Column("salt")
@Comment("盐加密")
private String salt;
/**
* 用户邮箱
*/
@Column("email")
@Comment("用户邮箱")
private String email;
/**
* 手机号码
*/
@Column("phonenumber")
@Comment("手机号码")
private String phonenumber;
/**
* 用户性别
*/
@Column
@Comment("用户性别")
private String gender;
/**
* 用户头像
*/
@Column
@Comment("用户头像")
private String avatar;
@One(field = "avatar")
private Image image;
/**
* 帐号状态(0正常 1停用)
*/
@Column
@Comment("帐号状态(0正常 1停用) ")
private boolean status;
/**
* 删除标志(0代表存在 1代表删除)
*/
@Column("del_flag")
@Comment("删除标记")
@ColDefine(type = ColType.BOOLEAN)
private boolean delFlag;
/**
* 最后登陆IP
*/
@Column("login_ip")
@Comment("最后登陆IP")
private String loginIp;
/**
* 最后登陆时间
*/
@Column("login_date")
@Comment("最后登陆时间")
private Date loginDate;
/**
* 部门对象
*/
@One(field = "deptId")
private Dept dept;
/**
* 角色集合
*/
@ManyMany(from = "user_id", relation = "sys_user_role", to = "role_id")
private List<Role> roles;
/**
* 角色组
*/
private String roleIds;
/**
* 岗位组
*/
private String postIds;
/**
* 创建者
*/
@Column("create_by")
@Comment("创建者 ")
@Prev(els = @EL("$me.uid()"))
private String createBy;
/**
* 创建时间
*/
@Column("create_time")
@Comment("创建时间 ")
@Prev(els = {@EL("$me.now()")})
private Date createTime;
/**
* 更新者
*/
@Column("update_by")
@Comment("更新者 ")
@Prev(els = @EL("$me.uid()"))
private String updateBy;
/**
* 更新时间
*/
@Column("update_time")
@Comment("更新时间 ")
@Prev(els = {@EL("$me.now()")})
private Date updateTime;
/** 关联的会员Id */
@Column("member_id")
@Comment("关联的会员Id")
private String memberId;
/** 关联会员的角色 */
@Column("member_role")
@Comment("关联会员的角色")
private String memberRole;
@One(field = "memberId")
private Member member;
}
异常信息如下
[DEBUG] 11:05:27.113 org.nutz.dao.impl.sql.run.NutDaoExecutor.exec(NutDaoExecutor.java:103) - SQLException
java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'member ON sys_user.member_id = member.id ORDER BY create_time DESC LIMIT 0, 1' at line 1
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.StatementImpl.executeQuery(StatementImpl.java:1218)
at com.alibaba.druid.filter.FilterChainImpl.statement_executeQuery(FilterChainImpl.java:2883)
at com.alibaba.druid.filter.FilterAdapter.statement_executeQuery(FilterAdapter.java:2514)
at com.alibaba.druid.filter.FilterEventAdapter.statement_executeQuery(FilterEventAdapter.java:302)
at com.alibaba.druid.filter.FilterChainImpl.statement_executeQuery(FilterChainImpl.java:2880)
at com.alibaba.druid.proxy.jdbc.StatementProxyImpl.executeQuery(StatementProxyImpl.java:221)
at com.alibaba.druid.pool.DruidPooledStatement.executeQuery(DruidPooledStatement.java:297)
at org.nutz.dao.impl.sql.run.NutDaoExecutor._runSelect(NutDaoExecutor.java:250)
at org.nutz.dao.impl.sql.run.NutDaoExecutor.exec(NutDaoExecutor.java:59)
at org.nutz.dao.DaoInterceptorChain.doChain(DaoInterceptorChain.java:65)
at org.nutz.dao.impl.interceptor.DaoLogInterceptor.filter(DaoLogInterceptor.java:22)
at org.nutz.dao.DaoInterceptorChain.doChain(DaoInterceptorChain.java:63)
at org.nutz.dao.DaoInterceptorChain.invoke(DaoInterceptorChain.java:138)
at org.nutz.dao.impl.sql.run.NutDaoRunner.runCallback(NutDaoRunner.java:163)
at org.nutz.dao.impl.sql.run.NutDaoRunner._runWithoutTransaction(NutDaoRunner.java:130)
at org.nutz.dao.impl.sql.run.NutDaoRunner._run(NutDaoRunner.java:97)
at org.nutz.dao.impl.sql.run.NutDaoRunner.run(NutDaoRunner.java:86)
at org.nutz.dao.impl.DaoSupport.run(DaoSupport.java:242)
at org.nutz.dao.impl.DaoSupport._exec(DaoSupport.java:254)
at org.nutz.dao.impl.NutDao.queryByJoin(NutDao.java:1284)
at org.nutz.dao.impl.NutDao.queryByJoin(NutDao.java:1274)
at io.nutz.nutzsite.common.base.Service.tableList(Service.java:343)
at io.nutz.nutzsite.module.sys.controllers.UserController.list(UserController.java:94)
at io.nutz.nutzsite.module.sys.controllers.UserController$FM$list$408746d29ae439cb459b03dfdeac110b.invoke(UserController.java)
at org.nutz.mvc.impl.processor.MethodInvokeProcessor.process(MethodInvokeProcessor.java:31)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.plugins.validation.ValidationProcessor.process(ValidationProcessor.java:56)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.AdaptorProcessor.process(AdaptorProcessor.java:38)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.ActionFiltersProcessor.process(ActionFiltersProcessor.java:58)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at io.nutz.nutzsite.common.mvc.processor.XssSqlFilterProcessor.process(XssSqlFilterProcessor.java:80)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.integration.shiro.NutShiroProcessor.process(NutShiroProcessor.java:139)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.ModuleProcessor.process(ModuleProcessor.java:123)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.EncodingProcessor.process(EncodingProcessor.java:27)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at io.nutz.nutzsite.common.mvc.processor.GlobalsSettingProcessor.process(GlobalsSettingProcessor.java:49)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.UpdateRequestAttributesProcessor.process(UpdateRequestAttributesProcessor.java:15)
at org.nutz.mvc.impl.NutActionChain.doChain(NutActionChain.java:44)
at org.nutz.mvc.impl.ActionInvoker.invoke(ActionInvoker.java:67)
at org.nutz.mvc.ActionHandler.handle(ActionHandler.java:31)
at org.nutz.mvc.NutFilter.doFilter(NutFilter.java:202)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
at org.nutz.mvc.WhaleFilter.doFilter(WhaleFilter.java:171)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1596)
at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:226)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:536)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1592)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1296)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1562)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1211)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:500)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:386)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:562)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:378)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
at java.lang.Thread.run(Thread.java:748)
[WARN ] 11:05:27.114 io.nutz.nutzsite.common.mvc.processor.ErrorProcessor.process(ErrorProcessor.java:41) - Error@/sys/user/list :
org.nutz.dao.DaoException: !Nutz SQL Error: 'SELECT sys_user.id as id,sys_user.dept_id as dept_id,sys_user.login_name as login_name,sys_user.user_name as user_name,sys_user.password as password,sys_user.salt as salt,sys_user.email as email,sys_user.phonenumber as phonenumber,sys_user.gender as gender,sys_user.avatar as avatar,sys_user.status as status,sys_user.del_flag as del_flag,sys_user.login_ip as login_ip,sys_user.login_date as login_date,sys_user.create_by as create_by,sys_user.create_time as create_time,sys_user.update_by as update_by,sys_user.update_time as update_time,sys_user.member_id as member_id,sys_user.member_role as member_role , dept.id as dept_z_id,dept.parent_id as dept_z_parent_id,dept.ancestors as dept_z_ancestors,dept.dept_name as dept_z_dept_name,dept.order_num as dept_z_order_num,dept.leader as dept_z_leader,dept.phone as dept_z_phone,dept.email as dept_z_email,dept.status as dept_z_status,dept.del_flag as dept_z_del_flag,dept.create_by as dept_z_create_by,dept.create_time as dept_z_create_time,dept.update_by as dept_z_update_by,dept.update_time as dept_z_update_time , member.id as member_z_id,member.login_name as member_z_login_name,member.user_name as member_z_user_name,member.gender as member_z_gender,member.email as member_z_email,member.password as member_z_password,member.salt as member_z_salt,member.user_image as member_z_user_image,member.signature as member_z_signature,member.status as member_z_status,member.device as member_z_device,member.platform as member_z_platform,member.openid as member_z_openid,member.remark as member_z_remark,member.del_flag as member_z_del_flag,member.identity_card_front as member_z_identity_card_front,member.identity_card_reverse as member_z_identity_card_reverse,member.audit_status as member_z_audit_status,member.leader_id as member_z_leader_id,member.employee_card_url as member_z_employee_card_url,member.agent_status as member_z_agent_status,member.sys_user_id as member_z_sys_user_id,member.member_role as member_z_member_role,member.real_name as member_z_real_name,member.id_card_no as member_z_id_card_no,member.service_fees_id as member_z_service_fees_id,member.parent_id as member_z_parent_id,member.ancestors as member_z_ancestors,member.agent_type as member_z_agent_type,member.corporate_account_url as member_z_corporate_account_url,member.corporate_id_card_front_url as member_z_corporate_id_card_front_url,member.business_license_url as member_z_business_license_url,member.corporate_id_card_back_url as member_z_corporate_id_card_back_url,member.openid_agent as member_z_openid_agent,member.openid_tenants as member_z_openid_tenants,member.openid_landlord as member_z_openid_landlord,member.create_by as member_z_create_by,member.create_time as member_z_create_time,member.update_by as member_z_update_by,member.update_time as member_z_update_time FROM sys_user LEFT JOIN sys_dept as dept ON sys_user.dept_id = dept.id LEFT JOIN app_member as member ON sys_user.member_id = member.id ORDER BY create_time DESC LIMIT 0, 10 '
PreparedStatement:
'SELECT sys_user.id as id,sys_user.dept_id as dept_id,sys_user.login_name as login_name,sys_user.user_name as user_name,sys_user.password as password,sys_user.salt as salt,sys_user.email as email,sys_user.phonenumber as phonenumber,sys_user.gender as gender,sys_user.avatar as avatar,sys_user.status as status,sys_user.del_flag as del_flag,sys_user.login_ip as login_ip,sys_user.login_date as login_date,sys_user.create_by as create_by,sys_user.create_time as create_time,sys_user.update_by as update_by,sys_user.update_time as update_time,sys_user.member_id as member_id,sys_user.member_role as member_role , dept.id as dept_z_id,dept.parent_id as dept_z_parent_id,dept.ancestors as dept_z_ancestors,dept.dept_name as dept_z_dept_name,dept.order_num as dept_z_order_num,dept.leader as dept_z_leader,dept.phone as dept_z_phone,dept.email as dept_z_email,dept.status as dept_z_status,dept.del_flag as dept_z_del_flag,dept.create_by as dept_z_create_by,dept.create_time as dept_z_create_time,dept.update_by as dept_z_update_by,dept.update_time as dept_z_update_time , member.id as member_z_id,member.login_name as member_z_login_name,member.user_name as member_z_user_name,member.gender as member_z_gender,member.email as member_z_email,member.password as member_z_password,member.salt as member_z_salt,member.user_image as member_z_user_image,member.signature as member_z_signature,member.status as member_z_status,member.device as member_z_device,member.platform as member_z_platform,member.openid as member_z_openid,member.remark as member_z_remark,member.del_flag as member_z_del_flag,member.identity_card_front as member_z_identity_card_front,member.identity_card_reverse as member_z_identity_card_reverse,member.audit_status as member_z_audit_status,member.leader_id as member_z_leader_id,member.employee_card_url as member_z_employee_card_url,member.agent_status as member_z_agent_status,member.sys_user_id as member_z_sys_user_id,member.member_role as member_z_member_role,member.real_name as member_z_real_name,member.id_card_no as member_z_id_card_no,member.service_fees_id as member_z_service_fees_id,member.parent_id as member_z_parent_id,member.ancestors as member_z_ancestors,member.agent_type as member_z_agent_type,member.corporate_account_url as member_z_corporate_account_url,member.corporate_id_card_front_url as member_z_corporate_id_card_front_url,member.business_license_url as member_z_business_license_url,member.corporate_id_card_back_url as member_z_corporate_id_card_back_url,member.openid_agent as member_z_openid_agent,member.openid_tenants as member_z_openid_tenants,member.openid_landlord as member_z_openid_landlord,member.create_by as member_z_create_by,member.create_time as member_z_create_time,member.update_by as member_z_update_by,member.update_time as member_z_update_time FROM sys_user LEFT JOIN sys_dept as dept ON sys_user.dept_id = dept.id LEFT JOIN app_member as member ON sys_user.member_id = member.id ORDER BY create_time DESC LIMIT 0, 10 '
CaseMessage=You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'member ON sys_user.member_id = member.id ORDER BY create_time DESC LIMIT 0, 1' at line 1
at org.nutz.dao.impl.sql.run.NutDaoExecutor.exec(NutDaoExecutor.java:110)
at org.nutz.dao.DaoInterceptorChain.doChain(DaoInterceptorChain.java:65)
at org.nutz.dao.impl.interceptor.DaoLogInterceptor.filter(DaoLogInterceptor.java:22)
at org.nutz.dao.DaoInterceptorChain.doChain(DaoInterceptorChain.java:63)
at org.nutz.dao.DaoInterceptorChain.invoke(DaoInterceptorChain.java:138)
at org.nutz.dao.impl.sql.run.NutDaoRunner.runCallback(NutDaoRunner.java:163)
at org.nutz.dao.impl.sql.run.NutDaoRunner._runWithoutTransaction(NutDaoRunner.java:130)
at org.nutz.dao.impl.sql.run.NutDaoRunner._run(NutDaoRunner.java:97)
at org.nutz.dao.impl.sql.run.NutDaoRunner.run(NutDaoRunner.java:86)
at org.nutz.dao.impl.DaoSupport.run(DaoSupport.java:242)
at org.nutz.dao.impl.DaoSupport._exec(DaoSupport.java:254)
at org.nutz.dao.impl.NutDao.queryByJoin(NutDao.java:1284)
at org.nutz.dao.impl.NutDao.queryByJoin(NutDao.java:1274)
at io.nutz.nutzsite.common.base.Service.tableList(Service.java:343)
at io.nutz.nutzsite.module.sys.controllers.UserController.list(UserController.java:94)
at io.nutz.nutzsite.module.sys.controllers.UserController$FM$list$408746d29ae439cb459b03dfdeac110b.invoke(UserController.java)
at org.nutz.mvc.impl.processor.MethodInvokeProcessor.process(MethodInvokeProcessor.java:31)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.plugins.validation.ValidationProcessor.process(ValidationProcessor.java:56)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.AdaptorProcessor.process(AdaptorProcessor.java:38)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.ActionFiltersProcessor.process(ActionFiltersProcessor.java:58)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at io.nutz.nutzsite.common.mvc.processor.XssSqlFilterProcessor.process(XssSqlFilterProcessor.java:80)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.integration.shiro.NutShiroProcessor.process(NutShiroProcessor.java:139)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.ModuleProcessor.process(ModuleProcessor.java:123)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.EncodingProcessor.process(EncodingProcessor.java:27)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at io.nutz.nutzsite.common.mvc.processor.GlobalsSettingProcessor.process(GlobalsSettingProcessor.java:49)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.UpdateRequestAttributesProcessor.process(UpdateRequestAttributesProcessor.java:15)
at org.nutz.mvc.impl.NutActionChain.doChain(NutActionChain.java:44)
at org.nutz.mvc.impl.ActionInvoker.invoke(ActionInvoker.java:67)
at org.nutz.mvc.ActionHandler.handle(ActionHandler.java:31)
at org.nutz.mvc.NutFilter.doFilter(NutFilter.java:202)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
at org.nutz.mvc.WhaleFilter.doFilter(WhaleFilter.java:171)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1596)
at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:226)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:536)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1592)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1296)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1562)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1211)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:500)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:386)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:562)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:378)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'member ON sys_user.member_id = member.id ORDER BY create_time DESC LIMIT 0, 1' at line 1
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.StatementImpl.executeQuery(StatementImpl.java:1218)
at com.alibaba.druid.filter.FilterChainImpl.statement_executeQuery(FilterChainImpl.java:2883)
at com.alibaba.druid.filter.FilterAdapter.statement_executeQuery(FilterAdapter.java:2514)
at com.alibaba.druid.filter.FilterEventAdapter.statement_executeQuery(FilterEventAdapter.java:302)
at com.alibaba.druid.filter.FilterChainImpl.statement_executeQuery(FilterChainImpl.java:2880)
at com.alibaba.druid.proxy.jdbc.StatementProxyImpl.executeQuery(StatementProxyImpl.java:221)
at com.alibaba.druid.pool.DruidPooledStatement.executeQuery(DruidPooledStatement.java:297)
at org.nutz.dao.impl.sql.run.NutDaoExecutor._runSelect(NutDaoExecutor.java:250)
at org.nutz.dao.impl.sql.run.NutDaoExecutor.exec(NutDaoExecutor.java:59)
... 89 more
这个 算不算是BUG 求解答