表クライアント 名= "クライアント"HibernateのSessionFactoryの挿入、更新を構築することができません偽
@OneToMany(mappedBy="clientObj", fetch=FetchType.LAZY)
private List<BookedRoom> bookedRooms;
とテーブル予約されたルーム
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(unique=true, nullable=false)
private BigInteger id;
@Column(name="accommodation")
private BigInteger accommodation;
@Column(name="account")
private BigInteger account;
@Column(length=40)
private String clients;
@Column(name="clients_id", length=40)
private String clientsId;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="clients", nullable=false)
@JsonBackReference
private Client clientObj;
@Column(name="rooms_no")
private byte roomsNo;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="room", nullable=false)
@JsonBackReference
private AccommodationRoom accommodationRoom;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="bed_preference")
@JsonBackReference
private BedPreference bedPreferenceBean;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="booking", nullable=false)
@JsonBackReference
private Booking bookingBean;
とエラー:
Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: ba.go2balkan.pojo.BookedRoom column: clients (should be mapped with insert="false" update="false") [java] at org.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:709) [java] at org.hibernate.mapping.PersistentClass.checkPropertyColumnDuplication(PersistentClass.java:731) [java] at org.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:753) [java] at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:506) [java] at org.hibernate.mapping.RootClass.validate(RootClass.java:270) [java] at org.hibernate.cfg.Configuration.validate(Configuration.java:1358) [java] at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1849) [java] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850) [java] ... 34 more
ドン」 insert(insertable = "false"、updateble = "false")と言ってください。私はそれを挿入すると、データベースや他のものからデータを読み取ることができないので。それは解決策ではありません。
同じデシベル列をマップしようとしているあなたは@Column(length=40)
private String clients;
と
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="clients", nullable=false)
@JsonBackReference
private Client clientObj;
を持って
それは同じ名前でマップされた2つの列を意味します。実際に2つのフィールドマッピングを同じカラムにしたいのであれば、 – soorapadman
をチェックすることができますか?2つのマッピングの1つに挿入可能な更新可能なfalseを使用するか、または休止状態でどちらを使用するかを教えてください...しかし、あなたはエンティティ全体を投稿します。 – Zeromus
私は編集した投稿を投稿しました。 bookedRoom.javaファイル全体をコピーしました。 – Hajrudin