0
@ManyToOne(fetch = FetchType.LAZY, cascade=CascadeType.PERSIST)
@JoinColumn(name="PRIVATE_CODE_ID", nullable = false)
public PrivateCode getPrivateCode() {
    return privateCode;
}

従来の MySQL データベース スキーマを使用しており、PRIVATE_CODE_ID をデフォルトの int(11) ではなく int(15) として指定したいと考えています。joincolumn に length=15 などの引数はありません。休止状態のJPAが正しいスキーマを生成するようにこれを行う方法はありますか?

4

1 に答える 1

4
  1. レガシー データベースを使用する場合、スキーマの詳細を指定する必要はありません。これらは、JPA プロバイダーを使用して実際のスキーマを生成する場合にのみ使用されます。

  2. 外部キー列の定義は、この外部キーが指す主キーと一致している必要があります。したがって、エンティティに正しくマッピングすることから始め@Idます。PrivateCode

  3. 注釈のcolumnDefinition属性があります:@JoinColumn

    @JoinColumn(name="PRIVATE_CODE_ID", columnDefinition="int(15)", nullable = false)
    
于 2012-05-18T11:22:31.677 に答える