hibernate.hbm2ddl.auto
Hibernateがmysqlにテーブルを作成するように作成するセットがあります。
Cascade
ただし、休止状態がテーブル内の参照を正しく追加しているようには見えません。ただし、たとえば行を削除する場合は機能し、休止状態のアノテーションとして削除カスケードがあります。つまり、Hibernateは実行時にアナウンスを読み取り、カスケードを手動で実行するということですか?
それは正常な動作ですか?
例えば:
@Entity
class Report {
@OneToOne(cascade = CascadeType.ALL)
public File getPdf() {
return pdf;
}
}
ここでは、カスケードをALLに設定しました。ただし、実行中show create table Report
Report | CREATE TABLE `Report` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`pdf_id` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `FK91B14154FDE6543A` (`pdf_id`),
CONSTRAINT `FK91B14154FDE6543A` FOREIGN KEY (`pdf_id`) REFERENCES `File` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
外部キー以外のカスケードについては何も述べていません。私の意見では、それは追加する必要がありますON DELETE CASCADE ON DELETE UPDATE