Hibernate-外键引用了错误的列数(一对多,多对一)
我不熟悉Hibernate和JPA,所以希望这是一些基本的东西。我得到了一个例外:“从Bar引用Foo的外键的列数错误”。我不知道为什么。有什么想法吗?谢谢Hibernate-外键引用了错误的列数(一对多,多对一),hibernate,jpa,spring-data,Hibernate,Jpa,Spring Data,我不熟悉Hibernate和JPA,所以希望这是一些基本的东西。我得到了一个例外:“从Bar引用Foo的外键的列数错误”。我不知道为什么。有什么想法吗?谢谢 public abstract class Foo extends AbstractPersistable{ @Id @GeneratedValue @Column(name = "FooId") private Long foo_id; @OneToMany(mappedBy= "foo") p
public abstract class Foo extends AbstractPersistable{
@Id @GeneratedValue
@Column(name = "FooId")
private Long foo_id;
@OneToMany(mappedBy= "foo")
private Set<Bar> bars;
}
public abstract class Bar extends AbstractPersistable{
@Id @GeneratedValue
@Column(name = "BarId")
private Long bar_id;
@ManyToOne
@JoinColumn(name = "FooId", nullable = false, insertable = false, updatable = false)
private Foo foo;
}
公共抽象类Foo扩展了AbstractPersistable{
@Id@GeneratedValue
@列(name=“FooId”)
私人长富id;
@OneToMany(mappedBy=“foo”)
私人酒吧;
}
公共抽象类栏扩展了AbstractPersistable{
@Id@GeneratedValue
@列(name=“BarId”)
私人长酒吧id;
@许多酮
@JoinColumn(name=“FooId”,nullable=false,insertable=false,updateable=false)
私人富福;
}
在这种情况下使用@JoinColumn是多余的。请尝试以下代码:
public abstract class Foo extends AbstractPersistable{
@Id @GeneratedValue
@Column(name = "FooId")
private Long foo_id;
@OneToMany(mappedBy = "foo")
private Set<Bar> bars;
}
public abstract class Bar extends AbstractPersistable{
@Id @GeneratedValue
@Column(name = "BarId")
private Long bar_id;
@ManyToOne
private Foo foo;
}
公共抽象类Foo扩展了AbstractPersistable{
@Id@GeneratedValue
@列(name=“FooId”)
私人长富id;
@OneToMany(mappedBy=“foo”)
私人酒吧;
}
公共抽象类栏扩展了AbstractPersistable{
@Id@GeneratedValue
@列(name=“BarId”)
私人长酒吧id;
@许多酮
私人富福;
}
发现我在扩展一个已经提供了整数id的类。我的id类型为Long,因此它在寻找两个外键。尝试使用private Foo Foo
notfoos
asmappedBy
被定义为foo
。实际上,这是一个打字错误。这就是我所拥有的。嗯,谢谢,但我只是在看这些文档。不知道发生了什么事。