1. 程式人生 > >JPA配置實體時 insertable = false, updatable = false

JPA配置實體時 insertable = false, updatable = false

sys 映射 tid uid ner div targe als replace

當使用JPA配置實體時,如果有兩個屬性(一個是一般屬性,一個是多對一的屬性)映射到數據庫的同一列,就會報錯。

這時,[email protected] = 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不會被保存到數據庫。

JPA配置實體時 insertable = false, updatable = false