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不会被保存到数据库。

  • 相关阅读:
    c#图像处理
    事件机制(复习)
    .net控件Control透明
    什么东西
    btn控件
    Tao 1.2.0图形框架发布
    java 泛型的类型擦除与桥方法
    来博客园的第一篇博文
    fastjson @JSONField
    java文件编译后,出现xx$1.class的原因
  • 原文地址:https://www.cnblogs.com/drizzlewithwind/p/6221284.html
Copyright © 2011-2022 走看看