簡體   English   中英

無法建立Hibernate SessionFactory插入更新為false

[英]Unable to build Hibernate SessionFactory insert update false

表Client Name =“ clients”

@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;

錯誤:

由以下原因引起:org.hibernate.MappingException:實體的映射中重復的列:ba.go2balkan.pojo.BookedRoom列:客戶端(應與org.hibernate上的insert =“ false” update =“ false”映射)[java]。 org.hibernate.mapping.PersistentClass.checkPropertyColumnDuplication(PersistentClass.java:731)上的mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:709)[java]在org.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java: 753)[java]在org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:506)[java]在org.hibernate.mapping.RootClass.validate(RootClass.java:270)[java]在org.hibernate。 cfg.Configuration.validate(Configuration.java:1358)[java]在org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1849)[java]在org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl $ 4.perform (EntityManagerFactoryBuilderImpl.java:850)[java] ...另外34個

並且不要告訴我要插入(insertable =“ false”,updateble =“ false”)。 因為當我插入它時,我無法從數據庫或其他任何東西讀取數據。 那不是解決方案。

你有

@Column(length=40)
private String clients;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="clients", nullable=false)
@JsonBackReference 
private Client clientObj;

試圖映射同一數據庫列(如果您未指定列名,則休眠將使用字段名進行列映射)...

如果實際上是另一列,請給第一個起一個不同的名稱,在非關聯映射String clients上使用insertable=false, updatable= false或完全刪除無意義的字段

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM