postgresqlに裏打ちされた4つのエンティティを持つアプリケーションがあります。私のIDフィールドに@GenerateValueアノテーションなしでアプリケーションを実行すると、テーブルはすべて正常に作成されますが、それを追加して起動すると、基本的には私の関係が存在しないという大規模なスタックトレースが得られます。@GenerateValueがエンティティに追加されたときに、Hibernateがテーブルを作成しないのはなぜですか?
そして、私はすべてのようだ:私はテーブルがされていることを実際に明らかである私の設定で正しい世代のものを、持っている
を「まあ当たり前あなたはそれらが存在することことになっています!」アノテーションがオフのときに生成されます。ここで
は私のエンティティの一部から一部変更されたコードです:
@Entity
@Table(name = "MyClass",[email protected](columnNames={"name","parent"}))
public class MyClass implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String mapName = "";
@ManyToOne
@JoinColumn(name = "parent_id")
private MyParentClass parent;
そして、それは親の:
@Entity
@Table(name = "PARENT",[email protected](columnNames={"name"}))
public class MyParentClass implements Serializable {
static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
String name = "";
@OneToMany(mappedBy = "parent")
@Cascade({ org.hibernate.annotations.CascadeType.ALL })
@LazyCollection(LazyCollectionOption.FALSE)
private Set<MyClass> children = new HashSet<MyClass>();
私が何か間違ったこと、またはこれは、Hibernateに問題があるだろうか?
スタックトレースを投稿できますか?あなたは春に休止状態を使用していますか? – ManuPK