表客戶 NAME = 「客戶」無法建立的Hibernate SessionFactory的INSERT,UPDATE,假
@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
和Don」告訴我插入(insertable =「false」,updateble =「false」)。因爲當我插入,比我不能讀取數據庫或其他任何數據。這不是解決方案。
它說重複的列意味着兩列映射相同的名稱。你能檢查 – soorapadman
如果你真的想要兩個字段映射相同的列,那麼你必須在兩個映射之一上使用可插入的可更新false,或者hibernate不能告訴哪一個使用......但是,除非我們再次看不到你張貼了整個實體 – Zeromus
我的編輯帖子。我複製了我的整個bookingRoom.java文件。 – Hajrudin