NutzCN Logo
精华 dao.insert(Map)无法设置@Id字段
发布于 41天前 作者 king666 130 次浏览 复制 上一个帖子 下一个帖子
标签: dao

如题,insert后,并没有设置@Id字段

21 回复

@Table("asje")
public class UserDream {

/**
 * 
 */
private static final long serialVersionUID = 1L;

@Id
private Long helpid;

@Column
private Long userid;

@Column
private String title;

}

mysql数据库

NutMap nutMap = Lang.obj2nutmap(t);
dao.insert(nutMap);

t是一个UserDream实例

吃饭,下班,明天来搞

何须obj2nutmap

dao.insert(t);

因为有关键字,我需要转换一下啊
NutMap nutMap = Lang.obj2nutmap(t);
if(nutMap.containsKey("sensitive")){
nutMap.put("sensitive", nutMap.get("sensitive"));
nutMap.remove("sensitive");
}
dao.insert(UserDream.class, Chain.from(t,FieldMatcher.make(null, null, true)));
return Lang.map2Object(nutMap, UserDream.class);

@Column(wrap=true)
private String sensitive;

怎么http://www.nutzam.com/这些网站都访问不了了

还有一个办法,用map插入,但id要写成+id,这样就能拿到自增的返回值

具体怎么写的?
Chain set = Chain.from(nutMap,FieldMatcher.make(null, null, true)).addSpecial("helpid", "+1");
dao.insert(UserDream.class, set);
return Lang.map2Object(nutMap, UserDream.class);
这样也不行

我再试一下这个
nutMap.put("helpid", "+1");
nutMap.put(".table", "aaa");
dao.insert(nutMap);
return Lang.map2Object(nutMap, UserDream.class);

nutMap.remove("id");
nutMap.put("+id", 0);
nutMap.put(".table", "aaa");
dao.insert(nutMap);
//打印一下 看看
nutMap.put("id", nutMap.get("+id"));
return Lang.map2Object(nutMap, UserDream.class);

不行的
返回的map里面是+id=0,

要不,升级一下。。。

升级后不知道对现有项目的变更有多大啊,主要是dao层

试一下?理论上都是兼容的

好吧,升级后用wrap

添加回复
请先登陆
回到顶部