表客户端 名称="客户"
@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专栏:客户(应该是 用insert =&#34; false&#34;映射更新=&#34;假&#34) [java] org.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:709) [java] org.hibernate.mapping.PersistentClass.checkPropertyColumnDuplication(PersistentClass.java:731) [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] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl $ 4.perform(EntityManagerFactoryBuilderImpl.java:850) [java] ... 34更多
并且不要告诉我插入(insertable =&#34; false&#34;,updateble =&#34; false&#34;)。因为当我插入时,我无法从数据库或其他任何东西读取数据。那不是解决方案。
答案 0 :(得分:0)
你有
@Column(length=40)
private String clients;
和
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="clients", nullable=false)
@JsonBackReference
private Client clientObj;
试图映射相同的db列(如果你没有指定列名,那么hibernate将使用字段名来进行列映射)......
如果它实际上是另一列,则为第一列提供不同的名称,在非关联映射insertable=false, updatable= false
上使用String clients
或完全删除无意义的字段