NutzCN Logo
问答 使用了 dao中的insertOrUpdate方法,返回的对象没有ID
发布于 74天前 作者 qq_2df9dd31 180 次浏览 复制 上一个帖子 下一个帖子
标签:

类对象中 继承了一个继承的BaseModel(包含id),使用了insertOrUpdate方法,如下

 /**
     * 根据对象的主键(@Id/@Name/@Pk)先查询, 如果存在就更新, 不存在就插入
     *
     * @param obj 对象
     * @return 原对象
     */
    public <T> T insertOrUpdate(T obj) {
        return this.dao().insertOrUpdate(obj);
    }

求解答一下唉

8 回复

没有id是啥意思,没有值?

dao.insert的时间有没有

就是 id 是自定义的uuid 我想实现的是 我调用这个方法 返回的是 数据库刚插入的新数据包含自动生成的uuid, 但是调用这个方法 返回的没有id的属性值

数据库生成的?触发器? 那得加@Next才能拿到

检查一下dao.insert是否能拿到

dao.insert可以拿到id, 数据库设置id自增长

 id 是自定义的uuid

前后矛盾呀

  @Name
    @Prev(
        els = {@EL("$me.uuid()")}
    )
    private String id;
public String uuid() {
        ThreadLocalRandom random = ThreadLocalRandom.current();
        return (new UUID(random.nextLong(), random.nextLong())).toString();
    }

看错了啦 我是这样定义的 使用了insertOrUpdate 无法拿到返回对象的ID

不会吧,日志里面的sql的id也没有值?

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