Env:JPA 1、Hibernate 3.3.x、MySQL 5.x
hbm2ddlエクスポート操作を使用してデータベーススキーマを自動生成します。SQL生成中に特定の@Entityメンバーのデフォルト値を生成することは可能でしょうか。(たとえば、mytableエンティティクラスのアーカイブフィールド。
create table mytable (
...
'archive‘ tinyint(1) default ’0 ’,
...
)
それを行う移植可能な方法はなく、columnDefinition
「トリック」は間違いなく良い解決策ではありません。実際には、生成された DDL にデフォルトを設定するのは得策ではありません。これを行うと、プロバイダーはデータベースに戻って挿入後の結果を確認する必要があります1。Java コードのより良いデフォルト。
1念のため、@Generated
注釈を使用して Hibernate にそれを行うように指示できることに注意してください。