1

Env:JPA 1、Hibernate 3.3.x、MySQL 5.x

hbm2ddlエクスポート操作を使用してデータベーススキーマを自動生成します。SQL生成中に特定の@Entityメンバーのデフォルト値を生成することは可能でしょうか。(たとえば、mytableエンティティクラスのアーカイブフィールド。

create table mytable (
...
'archive‘ tinyint(1) default ’0 ’,
...
)
4

1 に答える 1

2

それを行う移植可能な方法はなく、columnDefinition「トリック」は間違いなく良い解決策ではありません。実際には、生成された DDL にデフォルトを設定するのは得策ではありません。これを行うと、プロバイダーはデータベースに戻って挿入後の結果を確認する必要があります1。Java コードのより良いデフォルト。

1念のため、@Generated注釈を使用して Hibernate にそれを行うように指示できることに注意してください。

于 2010-07-11T22:06:31.020 に答える