2014-06-10 23 views
0

我反向工程數據庫表JPA實體。我使用的MyEclipse IDEJPA持久性選擇的實行是EclipseLink2.5.0開普勒。MyEclipse的JPA逆向工程的自定義列名

連接到嵌入式DerbyDB後,我可以逆向工程名爲PRODUCTLINE生成相應的JPA實體Productline.java和相關JPA文件表。 我跟着這個教程 - http://docs.myeclipseide.com/index.jsp?topic=%2Fcom.genuitec.myeclipse.persistence.doc%2Fhtml%2Fquickstarts%2Fjpa%2Findex.html

PRODUCTLINE表有以下幾列:

productline; textdescription; htmldescription 

生成Productline.java具有下面的代碼片段,

@Entity 
@Table(name = "PRODUCTLINE", schema = "MYSCHEMA") 
public class Productline implements java.io.Serializable { 
    // Fields 
    private String productline; 
    private String textdescription; 
    private String htmldescription; 

其實我需要的「textdescription 「columname爲 'TXTDESC' 即

@Column(name="TXTDESC") 
private String textdescription; 

問:

我喜歡有經驗的人知道,如果有任何策略/邏輯情形之一 -

(一)我可以反向過程中更改此列名工程過程? [我看到SessionCustomizer的用法,但是這是針對所有表和列的通用邏輯或命名約定。在我的情況下,列名實際上是查找,並根據每個表不同而變化。]每個表列的自定義名稱都被逆向工程化了?注意:我知道我們可以逐行爲每個列名進行編程,但我試圖通過MyEclipse JPA反向工程支持或任何其他邏輯/策略的幫助來查看是否可以利用此功能,因爲將有100 +模式與100 +表。

回答

1

目前尚不清楚你想要做的,因爲你不能用這種方法更改表中的列名是什麼。你將不得不改變數據庫中的表來做到這一點,然後使用這個過程。

但是,可以改變由生成的Java類的屬性名稱,而不是單擊在第3步完成,再次單擊下一步,然後單擊下一步。現在展開Productline表並選擇任意列以查看可以對生成內容進行的修改。如果您單擊表格本身,則可以更改爲表格生成的類名稱。

+0

我明白你想在第一行說什麼。你是對的。謝謝,+1 – spiderman

0

逆向工程的模式來獲得JPA實體就是你做一次,在開發過程中一個過程,它並不需要100%自動化,除非你希望你都應該遵守快速架構更改的過程。只需做一次並且手動跟蹤它們。

+0

謝謝,但是這並沒有幫助我解決手頭的問題,我提到這個選項是'Note'的一部分。 – spiderman