2012-05-18 43 views
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(15)而不是默認的int(11)。在連接列中沒有像length = 15這樣的參數。有沒有辦法做到這一點,所以與休眠的JPA將生成正確的架構?外鍵長度JPA

回答

2
  1. 如果與傳統數據庫的工作,你沒有指定架構細節 - 它們只是用來當JPA提供商用來產生實際的模式

  2. 外鍵列定義應該是與這個外鍵指向的主鍵一致。因此,從實體正確映射@Id開始。

  3. 有一個columnDefinition屬性@JoinColumn註釋:

    @JoinColumn(name="PRIVATE_CODE_ID", columnDefinition="int(15)", nullable = false)