can not access a member of class

      今天遇到个很奇怪的问题,报错为:严重: Servlet.service() for servlet default threw exception
  java.lang.IllegalAccessException: Class com.googlecode.jsonplugin.JSONWriter can not access a member of class org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper with modifiers “public”
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)

  以下是我的实体Bean,应该说是很简单的一个应用,查询员工考勤,怎么就会报错了呢,在上面的错误中很明显是JSONWriter转换不了要转换的对象造成的,但是在我下面的实体Bean中明明很简单,不可能会有错的。在每一个get前加上 @JSON(serialize = false)问题依旧,这就很没道理了,偶想想到返回的数据中除了实体bean需要转化外还有一些参数,比如page页面等,马上找到了我的action控制类,果然如此:问题就出现在其中的getSignLogService啦,由于用eclipse生成get/set方法时没有注意,把这个接口也生成了get/set方法,JSONWriter自然无法将一个接口转换为实体对象了,问题解决。

/**.
 * 公共基础对象实体包
 *


 * 公共基础对象实体包,存放如HR,ERP,CRM中的公共实体部分对象
 *
 */
package com.lenxeon.extjs.bean.comm;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Version;

import com.googlecode.jsonplugin.annotations.JSON;

/**************************************************.
 * FileName:SignLog.java
 * Version: 1.00
 * Author: lenxeon
 * Date: 2009-12-25
 * Last modify Date: 2009-12-25
 * Function: 员工考勤信息对象实体封装类
 * CopyRight (c) zendlab.com Company 2009-2012 All rights reserved
 **************************************************/
@Entity()
@Table(name = "signLog")
public class SignLog implements Serializable {

    /**.
     *序列化id
     */
    private static final long serialVersionUID = 1L;
    /**.
     *记录ID
     */
    private int id;
    /**.
     * 员工工号
     */
    private int emID;
    /**.
     * 上班时间
     */
    private Date logInTime;
    /**.
     * 下班时间
     */
    private Date logOutTime;
    /**.
     * 版本控制
     */
    private int revision;
    /**.
     * 构造函数
     */
    public SignLog() {
    }
    /**.
     * 构造函数
     */
    public SignLog(int id) {
        super();
        this.id = id;
    }

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public int getEmID() {
        return emID;
    }
    public void setEmID(int emID) {
        this.emID = emID;
    }
    @JSON(format="yyyy-MM-dd' 'HH:mm:ss")
    public Date getLogInTime() {
        return logInTime;
    }
    public void setLogInTime(Date logInTime) {
        this.logInTime = logInTime;
    }
    @JSON(format="yyyy-MM-dd' 'HH:mm:ss")
    public Date getLogOutTime() {
        return logOutTime;
    }
    public void setLogOutTime(Date logOutTime) {
        this.logOutTime = logOutTime;
    }
    @Version
    public int getRevision() {
        return revision;
    }
    public void setRevision(int revision) {
        this.revision = revision;
    }
}

 

控制器中的代码:

private static final long serialVersionUID = 1L;
    @Resource(name = "signLogServiceImpl")
    private SignLogService signLogService;
    private List signLogs;
    private SignLog signLog;

    public SignLogService getSignLogService() {
        return signLogService;
    }
    public void setSignLogService(SignLogService signLogService) {
        this.signLogService = signLogService;
    }
    public List getSignLogs() {
        return signLogs;
    }
    public void setSignLogs(List signLogs) {
        this.signLogs = signLogs;
    }
    @JSON(format="yyyy-MM-dd' 'HH:mm:ss")
    public SignLog getSignLog() {
        return signLog;
    }
    public void setSignLog(SignLog signLog) {
        this.signLog = signLog;
    }
    @Override
    public int getLimit() {
        return super.getLimit();
    }
    @Override
    public int getStart() {
        return super.getStart();
    }
    @Override
    public String getMsg() {
        return super.getMsg();
    }
    @Override
    public Boolean getSuccess() {
        return super.getSuccess();
    }
    @Override
    public long getTotal() {
        return super.getTotal();
    }

    /**.
     * 考勤列表查询
     * @return String
     * @throws Exception
     */
    public final String signLogList() throws Exception {
        ....
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值