morphia将数据存入mongodb数据库,报错:···morphia.mapping. ···No usable constructor for com.XX.XX.XX
来源:互联网 发布:工商银行软件研发中心 编辑:程序博客网 时间:2024/05/09 00:10
morphia操作mongodb报错:
org.mongodb.morphia.mapping.MappingException: No usable constructor for com.XX.XX.model.User
原因:
是因为User这个类没有可用的构造器,也就是说,找不到对应的构造函数。
User实体类的代码如下:
public static String addUser(Long userId, TraceReq traceReq) throws Exception { try {
//根据UserId找到该条记录,如果没有,则新增一条 Query<User> query = ds.createQuery(User.class) .field("userId").equal(userId); UpdateOperations<User> ops = ds.createUpdateOperations(User.class) .set("Id", new ObjectId()) ..........................(省略) ; User user = ds.findAndModify(query, ops, false, true); return ObjectMapper.getMapper().valueToTree(user)); } catch (Exception e) { throw e; }}通过增加断点,知道,在User user =ds.findAndModify(query, ops,false,true);这一句抛出了异常,从try catch中捕获异常:
原因是:User这个类找不到合适的构造器,也就是说User这个类没有无参构造器。
肯定是User这个类写了其他的构造器,这样的话就得将无参构造器写出来,不然肯定不行。
以前我一直以为,这种情况下,如果不写入无参构造器,编译器肯定会报错,原来编译器是不会报错的,需要自己注意,需要自己注意,需要自己注意,重要的事情说三遍。
User实体类代码如下:
要将无参构造函数,写出来:
1 0
- morphia将数据存入mongodb数据库,报错:···morphia.mapping. ···No usable constructor for com.XX.XX.XX
- Mybatis 报错 No constructor found in xx类
- Mybatis 报错 No constructor found in xx类
- android自定义报错: error: No resource identifier found for attribute 'XX' in package 'XX’
- Jquery Datatable 数据填充报错:requested unknown parameter 'XXX' for row xx, column xx 解决方法
- morphia for MongoDB
- XX
- xx
- xx
- xx
- XX
- xx
- xx
- xx
- XX
- xx
- xx
- xx
- ios内联函数 inline
- Android的材料设计兼容库(Design Support Library)
- laravle (八)laravle 缓存
- 定位
- java打印对象中的属性名和值
- morphia将数据存入mongodb数据库,报错:···morphia.mapping. ···No usable constructor for com.XX.XX.XX
- 初识.Net
- vb正则表达式
- 《JavaScript高级程序设计》笔记——chapter3 流程语句
- 【框架基础】:Java反射机制详解(一)
- EditText TextWatch监听简单使用
- 20个非常有用的Java程序片段
- mongodb数组和嵌入文档操作
- Java之对象转型(casting)