hibernate做插入操作的save方法出问题

流离影风 发布于 2015/10/28 15:39
阅读 1K+
收藏 0

这次的表主键不是递增的,所以对主键也设置了:

        user.setId(id);
        user.setUsername(username);
        user.setPassword(password);
        user.setAge(age);
        user.setSex(sex);
        user.setAddress(address);
        user.setPhone(phone);
        user.setType(type);

        userService.save(user);

这是做插入的方法:

public void save(User user) {
        Session session =this.getSessionFactory().openSession();
        Transaction tx=session.beginTransaction();
        try {

            session.save(user);
            
        } catch (Exception e) {
            e.getStackTrace();
            log.error(e.toString());
        }
        tx.commit();
       
}

Hibernate实际上执行的语句却是:

 insert into User (username, password, age, sex, phone, address, type) values (?, ?, ?, ?, ?, ?, ?);

然后提示我id 为null   但是实际上id是存在的。求解啊

加载中
0
zoemak
zoemak

User.hbm.xml配置文件把主键生成方式也要改一下啊:

<id name="id" column="id">
  <generator class="assigned" />
</id>
流离影风
流离影风
谢谢 你们 确实是在xml文件中把映射没有改过来
0
pantrick
pantrick

id是存在,但是你没有映射

0
jwangkun
jwangkun
还是使用注解的方式吧,比较简单,方便
0
nightmare123
nightmare123
这个代码也太渣了吧。。。。
返回顶部
顶部