NutzCN Logo
问答 oracle中id自增,@Prev(@SQL()),insert忽略空值后报错
发布于 271天前 作者 king666 156 次浏览 复制 上一个帖子 下一个帖子
标签:

如题
@Id(auto = false)
@Prev(@SQL("SELECT seq_ss.NEXTVAL FROM DUAL"))
private Long id;

dao.insert(t, true, true, true);导致id列为空报错

10 回复

预先给id赋值个1是不是就解决了?

思想上的问题,赋值了会有问题,这个值是用户输入的呢,还是其他

为啥会有问题? id最终用@Prev的值覆盖掉

如果其他地方new了一个对象呢,这个对象得id不就有值了?

我是说调用insert之前, 手动设置一下

想了想, 算不算bug呢

			if (ignoreZero && (tmp == null || (tmp instanceof Number && ((Number)tmp).intValue() == 0))) {
				continue;
			}

应该判断一下, 如果该字段是主键, 就无视

话说, 为啥不用long呢???

因为long有初始值

因为long不允许空值啊

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