NutzCN Logo
问答 现在是想添加的时候使用自己指定的id 使用下列方法 报错 为何
发布于 2557天前 作者 qq_de47eb0c 1923 次浏览 复制 上一个帖子 下一个帖子
标签:

agent.setAgentLoginPwd(hashedPwd);
agent.setRegTime(new Date());
agent.setStatus(Constants.Status.Agent.ENABLE.id);
agent.setId(id);
BaseAgent a = baseAgentDao.insert(agent, FieldFilter.create(BaseAgent.class, FieldMatcher.create(false)

baseAgentDao.insert(agent, FieldFilter.create(BaseAgent.class, FieldMatcher.create(false)
这段是报错 的 请问什么原因
多谢

25 回复

id是自增的?

对 现在我已经set ID 了 但是使用这个方法时 还是自增ID 是版本问题吗

对 现在我已经set ID 了 但是使用这个方法时 还是自增ID 是版本问题吗

@Transactional(readOnly = false)
public ServiceResponse createAgent(BaseAgent agent,Long id) {

    // 检查loginCode 是否存在
    BaseAgent agentFromDb = baseAgentDao.findAgentByLoginCode(agent.getAgentLoginCode());
    if (agentFromDb != null) {
        return ServiceResponse.fail(Error.USER_USERNAME_EXIST);
    }

    String password = agent.getAgentLoginPwd();

    SimpleHash simpleHash = new SimpleHash("SHA-256", password, Constants.Shiro.salt, 1);
    String hashedPwd = simpleHash.toHex();

    agent.setAgentLoginPwd(hashedPwd);
    agent.setRegTime(new Date());
    agent.setStatus(Constants.Status.Agent.ENABLE.id);
    agent.setId(id);
    BaseAgent a = baseAgentDao.insert(agent, FieldFilter.create(BaseAgent.class, FieldMatcher.create(false)));
    return ServiceResponse.success();
}

贴日志啊...

日志贴不上 暂时

[ERROR] /D:/TianTu_2/decor/service/service-impl/src/main/java/service/impl/AgentServiceImpl.java:[109,35] 对于insert(domain.BaseAgent,org.nutz.dao.FieldFilter), 找不到合适的方法
[ERROR] 方法 dao.core.BaseDao.insert(domain.BaseAgent)不适用
ERROR
[ERROR] 方法 dao.core.BaseDao.insert(java.util.List<domain.BaseAgent>)不适用
ERROR
[ERROR] -> [Help 1]

编译失败了? 啥版本的nutz?

实际已经报错了 本来已经没有编译的必要
版本怎样看

如果是maven, 看pom.xml

如果是web项目,启动时有打印版本号

如果都不知道, 打开nutz.jar 找 META-INF/maven/org.nutz/nutz/pom.properties

既然编译出错了,为啥不先解决编译的问题呢? 引用了两个版本的nutz?? eclipse能过, 命令行编译出错???

我现在就是在解决编译的问题啊
问题的一开始就是为什么报错 我用的intelle IDEA

我现在就是想用自己set 的ID 当存入数据的ID 不需要自增ID

编译都不过, 其他免谈.

是不是老的nutz.jar没删

因为是后期接手的这个项目 框架不太懂

那找个jar应该懂吧? idea下基本上都是maven项目了吧?

1.r.56.r3 这是版本号?

他主要是 这个insert 方法报错 里面参数没有后面的那段

现在编译是否正常了

没有 这个地方 一直报错

所以,肯定还有一个老版本的nutz jar

我现在这个版本不算 老吧

最终发现, baseAgentDao是自定义的接口,并非Dao接口,所以,在其顶层接口BaseDao中添加代理方法insert(T obj, FieldFilter)后, 编译正常,插入ok了

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