zoukankan      html  css  js  c++  java
  • 当主键不是id时,而是其他字段,那么该字段要加上@Id注解(除了表中指定主键,实体类中也要用@Id指定主键)

    实体类如下:

    @Data
    @Table(name = "t_sys_role")
    @Accessors(chain = true)
    public class Role extends BaseEntity implements Serializable {
        private static final long serialVersionUID = -13963720540937036L;
        /**
        * 角色编号
        */
        @Id
        @Column(name = "role_no")
        private String roleNo;
        /**
        * 角色名称
        */
        @Column(name = "role_name")
        private String roleName;
        /**
        * 角色描述
        */
        @Column(name = "role_desc")
        private String roleDesc;
    
    }

    现在roleNo为主键,如果实体类中不给roleNo加上@Id注解,那么下面的代码会执行失败,因为虽然数据库表中已经指定了role_no为主键,但是在实体类中如果不指定主键,java代码就找不到主键,故无法根据主键修改。

    @Override
        public int updateInfo(Role role) {
            User user = SessionCache.get();
            role.setUpdateTime(new Date()).setUpdateUser(user.getUsername());
            return roleDao.updateByPrimaryKeySelective(role);
        }
  • 相关阅读:
    git 常用命令速查表
    Git常用命令备忘
    display:inline-block
    JS 封装的结构关系
    IE6,7,8 CSS HACK
    JS 观察者模式
    JS 数组迭代方法
    JS 单例模式
    JS Closure 闭包
    Currying and Uncurrying Js
  • 原文地址:https://www.cnblogs.com/zwh0910/p/15670370.html
Copyright © 2011-2022 走看看