Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法生成Hibernate SessionFactory插入更新错误_Java_Hibernate - Fatal编程技术网

Java 无法生成Hibernate SessionFactory插入更新错误

Java 无法生成Hibernate SessionFactory插入更新错误,java,hibernate,Java,Hibernate,表客户端 Name=“客户” 和错误: 原因:org.hibernate.MappingException:映射中重复列 对于实体:ba.go2balkan.pojo.BookedRoom列:客户端(应为 映射为insert=“false”update=“false”) [java]位于org.hibernate.mapping.PersistentClass.checkColumnReplication(PersistentClass.java:709) [java]位于org.hiberna

表客户端 Name=“客户”

和错误:

原因:org.hibernate.MappingException:映射中重复列 对于实体:ba.go2balkan.pojo.BookedRoom列:客户端(应为 映射为insert=“false”update=“false”) [java]位于org.hibernate.mapping.PersistentClass.checkColumnReplication(PersistentClass.java:709) [java]位于org.hibernate.mapping.PersistentClass.checkPropertyColumnDuplication(PersistentClass.java:731) [java]位于org.hibernate.mapping.PersistentClass.checkColumnReplication(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;

正在尝试映射相同的db列(如果未指定列名,则hibernate将使用字段名进行列映射)

如果第一列实际上是另一列,则为其指定一个不同的名称,在非关联映射
字符串客户端上使用
insertable=false,updateable=false
,或者将该无意义的字段全部删除

@Column(length=40)
private String clients;

正在尝试映射相同的db列(如果未指定列名,则hibernate将使用字段名进行列映射)


如果第一列实际上是另一列,则为其指定一个不同的名称,在非关联映射
字符串客户机上使用
insertable=false,updateable=false
,或者将该无意义的字段全部删除

它表示重复列意味着使用相同名称映射的两列。你能不能检查一下,如果你真的想要两个字段映射同一列,那么你必须在两个映射中的一个上使用insertable Updateable false,或者hibernate无法判断使用哪一个。。。但是我们也不能说,除非你把所有的东西都贴出来。我复制了我的整个bookedRoom.java文件。它说重复列意味着两个同名的列映射。你能不能检查一下,如果你真的想要两个字段映射同一列,那么你必须在两个映射中的一个上使用insertable Updateable false,或者hibernate无法判断使用哪一个。。。但是我们也不能说,除非你把所有的东西都贴出来。我复制了整个bookedRoom.java文件。
@Column(length=40)
private String clients;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="clients", nullable=false)
@JsonBackReference 
private Client clientObj;