zoukankan      html  css  js  c++  java
  • insertable = false, updatable = false的使用

    转自:insertable = false, updatable = false的使用

    当使用JPA配置实体时,如果有两个属性(一个是一般属性,一个是多对一的属性)映射到数据库的同一列,就会报错。

    这时,在多对一的@JoinColumn注解中添加insertable = false, updatable = false就能解决。

    例如:

    /** 
     * 用户类 
     */  
    @Entity  
    @Table(name = "TBL_SYS_USER")  
    public class SysUser{  
        @Id  
        @GeneratedValue(generator = "system-uuid")  
        @GenericGenerator(name = "system-uuid", strategy = "uuid")  
        @Column(name = "USER_ID", unique = true, length = 40)  
        @CsvColumn(imported=false)  
        private String id;                  //用户ID  
      
        @Column(name = "USER_CODE", nullable = false, length = 40)  
        private String userCode;            //用户账号  
      
        @CsvColumn(desc="用户姓名", required= true )  
        @Column(name = "USER_NAME", length = 60)  
        private String userName;            //用户姓名  
      
        @Column(name = "DEPT_ID", length = 40)  
        private String deptId;              //部门ID(IS_ORG=0的)  
      
        @ManyToOne  
        @JoinColumn(name = "DEPT_ID", insertable = false, updatable = false, nullable=true)  
        private SysOrg dept;                //部门对象  
      
    }  

    我们可以看到,deptId和dept都映射到数据库里面的DEPT_ID字段,但是加上了insertable = false, updatable = false后,在保存数据时,dept不会被保存到数据库。

  • 相关阅读:
    8.1 管道符| 使用技巧
    7.1 elementui的radio无法选中问题
    2.0 es6数组操作
    小练习-双数日期
    匿名函数、三元表达式、列表生成式
    sys.argv
    常用模块 os,sys,
    Python操作数据库
    Python time模块
    加密模块hashlib
  • 原文地址:https://www.cnblogs.com/drizzlewithwind/p/6221284.html
Copyright © 2011-2022 走看看