当前位置: 代码迷 >> J2EE >> 一个简单的数据库数据存入取出动作,为什么出现有关问题
  详细解决方案

一个简单的数据库数据存入取出动作,为什么出现有关问题

热度:49   发布时间:2016-04-22 02:06:00.0
一个简单的数据库数据存入取出动作,为什么出现问题?
我用的play框架...
问题是这样的:
Java code
public static void addParent() throws InterruptedException { // 写死        Date insertTime = new Date();        Parent parent = new Parent();        parent.fullName = "新增家长";        parent.fullNamePinyin = "xin zeng jia zhang";        parent.save();//往数据库里面存入一条数据        List<Long> idFromDB = methodForDocs.getParentList(insertTime);//紧接着从数据库里面取出该条数据(更具createTime字段)        System.out.println("idFromDBSize:" + idFromDB.size());        for (int i = 0; i < idFromDB.size(); i++) {            System.out.println("***idFromDB:" + idFromDB.get(i));        }        renderJSON(new Result("测试通过!"));    }

getParentList方法是这样的:
Java code
(该方法是没有问题的)public static List<Long> getParentList(Date insertTime) {        String hql = "select id from Member where createTime>?";        System.out.println("insertTime:" + insertTime.toString());        List<Long> ids = Member.find(hql, insertTime).fetch();        return ids;    }

可是不知道为什么idFromDBSize总是等于0,应该等于1才对啊!?不知道为什么???

------解决方案--------------------
insertTime 设置小点吧,而且应该insert后再取值,另外SQL语句的>应该是>=

如果数据库服务器跟你本机不是一台的话,你还得检查时间是否一致。

总的来说,你这个程序的逻辑很奇怪,万一是并发写入多条数据,你这个不是就乱了?
  相关解决方案