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

时间: 2024-08-05 02:55:23

insertable = false, updatable = false的使用的相关文章

JPA配置实体时 insertable = false, updatable = false

当使用JPA配置实体时,如果有两个属性(一个是一般属性,一个是多对一的属性)映射到数据库的同一列,就会报错. 这时,在多对一的@JoinColumn注解中添加insertable = false, updatable = false就能解决. 例如:   /** * 用户类 */ @Entity @Table(name = "TBL_SYS_USER") public class SysUser{ @Id @GeneratedValue(generator = "system

c++ 中 BOOL与bool TRUE与true FALSE与false 区别 (转载)

http://blog.chinaunix.net/uid-28458801-id-3941112.html FALSE/TRUE与false/true的区别 1.FALSE/TRUE与false/true的区别: false/true是标准C++语言里新增的关键字,而FALSE/TRUE是通过#define,这要用途 是解决程序在C与C++中环境的差异,以下是FALSE/TRUE在windef.h的定义: #ifndef FALSE #define FALSE 0 #endif #ifndef

True Positive|True Negative|False Positive|False Negative

True Positive|True Negative|False Positive|False Negative 表示分类正确: True Positive:本来是正样例,分类成正样例. True Negative:本来是负样例,分类成负样例. 表示分类错误: False Positive :本来是负样例,分类成正样例,通常叫误报. False Negative:本来是正样例,分类成负样例,通常叫漏报. true positive rate = true positive / (true po

console.log(([])?true:false); console.log(([]==false?true:false)); console.log(({}==false)?true:false)

下面是题目的类型转换结果: Boolean([]); //true Number([]); //0 Number({}); // NaN Number(false); //0 因此: console.log(([])?true:fasle);// => console.log((true)?true:false); console.log([]==false?true:false); // => console.log(0==0?true:false); console.log(({}==fa

should be mapped with insert="false" update="false

SSH项目出现了 should be mapped with insert="false" update="false 错误,仔细检查后发现,是两个不同的属性映射了表中的同一个字段造成的错误.

一道Python面试题:给出d = [True, False, True, False, True],请利用列表d,只用一句话返回列表[0,2,4]

前言:还是我,一个不知死活的小白,冒着生命危险去了一家有逼格的公司面试,去面试的路上就经历了一番波折,公交车死等不来,最后差点误了面试时间,这都不算什么了,虽然对面试不抱什么希望,但在技术面被虐成了渣渣也确实打击了我的自信心,最后被面试官像看一个智障一样的看着(心疼自己半分钟). 看题:给出d = [True, False, True, False, True],请利用列表d,只用一句话返回列表[0,2,4] 这道题的关键是拿到True的索引值,最初我是用list的index方法搭配高阶函数fi

org.hibernate.MappingException: Repeated column in mapping for entity: com.boot.entity.RepEntity column: rep_batch (should be mapped with insert="false" update="false")

Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: com.boot.entity.RepEntity column: rep_batch (should be mapped with insert="false" update="false") at org.hibernate.mapping.PersistentClass.checkColumnDup

Recall(召回率);Precision(准确率);F1-Meature(综合评价指标);true positives;false positives;false negatives.

Recall(召回率);Precision(准确率);F1-Meature(综合评价指标);在信息检索(如搜索引擎).自然语言处理和检测分类中经常会使用这些参数. Precision:被检测出来的信息当中正确的或者相关的(也就是你想要的)信息中所占的比例(预测的正样本数占总样本的比例): Recall:所有正确的信息或者相关的信息(wanted)被检测出来的比例(总样本中的正样本数占预测总样本数的比例).   表格中的翻译比较重要,可以帮助理解. true positives (纳真)    

玩转JPA(一)---异常:Repeated column in mapping for entity/should be mapped with insert="false" update="fal

近期用JPA遇到这样一个问题:Repeated column in mapping for entity: com.ketayao.security.entity.main.User column: org_id (should be mapped with insert="false" update="false") 这个错误是由实体类引起的.我一開始是这样写的: @Column private long orgId; @ManyToOne @JoinColumn