hbm2ddl.auto が "update" に設定されている場合、hibernate (バージョン 3.6) はエンティティの注釈をスキャンし、データベース参照を更新して新しいテーブルを作成するという印象を受けました。そしてメニュー、私はそれらのために一方向の多対多の関連付けを定義しました
@Id
@GenericGenerator(name="uuidGenerator", strategy="uuid")
@GeneratedValue(generator="uuidGenerator")
private String roleId;
@Column
private String roleName;
@ManyToMany(cascade=CascadeType.REMOVE)
@JoinTable( name="roleMenu",
joinColumns=
@JoinColumn(name="roleId"),
inverseJoinColumns=
@JoinColumn(name="menuid")
)
private Set<Menu> Menus;
私はすでにデータベースにテーブル ROLE とテーブル MENU を持っているので、休止状態が中間テーブル ROLEMENU を作成することを期待していますが、ROLEMENU の外部キー参照を更新しようとするだけで、ROLEMENU がまだ存在しないというエラーが発生します。 、しかし、hbm2ddl.autoを「作成」に設定すると正常に動作するので、休止状態が以前にROLEMENUを作成しない理由を誰かが説明できますか?