異常から:Repeated column in mapping for entity/should be mapped with insert=“false”update=“falseはjpa関連に対する思考を引き起こす

8712 ワード

異常から:Repeated column in mapping for entity/should be mapped with insert=“false”update=“falseはjpa関連に対する思考を引き起こす
まず上記の問題の解決方法についてお話しします
//           --          
@Column(name = "xxx", insertable = false, updatable = false)

@OneToMany(fetch = FetchType.LAZY)
//
@NotFound(action = NotFoundAction.IGNORE)
// ,
@JoinColumns({@JoinColumn(name = "xxx", referencedColumnName = "xxx_ID", insertable = false, updatable = false) })
List xxxs;

この問題に対する考え方
1:まずcolumnにおけるinsertとupdateの役割を解読する
 /**
     * (Optional) Whether the column is included in SQL INSERT 
     * statements generated by the persistence provider.
     */
    boolean insertable() default true;
sql

    /**
     * (Optional) Whether the column is included in SQL UPDATE 
     * statements generated by the persistence provider.
     */
    boolean updatable() default true;
sql

2:このコードに対応するsqlはデータベースで問題ありませんが、コード関連付けはこのエラーを保証します.
sql:      ,      ,
:  

: insertable   updateable joincolumns   ? insert update

( insertable   updateable  ) : , name

insert update?): column insert update referencecolumnname 。