PowerDesign —配置JPA映射 導出實體類

  PowerDesign設計的OOM的實體類,這麼多的類和屬性再在代碼中寫一遍肯定又費時,又容易出錯,像這種模型設計一般都提供了代碼生成的功能,並且可以根據我們的需要去配置去生成。下面來看PowerDesign生成實體類,並加入JPA註解的配置。

  下面遵循這樣一個流程:包>>引用>>類>>屬性>>getter/setter方法>>註釋

1、進入配置

  

2、添加包和引入:

  

  

import java.io.Serializable;
import java.util.*;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.GenericGenerator;


3、添加類註解:

  

@Entity

@Table(name="%Code%")

序列化添加繼承:implements Serializable


4、如下目錄下添加getterFunction文件:

包括主鍵和屬性的註解:

 

.set_value(visibility,public,new)

.set_value(getMethod,get%.FU:fieldCode%,new)

.if(%dataType% == "UUID")

@Id

  @GeneratedValue(generator="hibernateuuidgenerator")

  @GenericGenerator(name="hibernateuuidgenerator", strategy ="uuid")

  @Column(name="%Name%",length=32)

.else

@Column(name="%Name%",length=255)

.endif

 

  [%visibility%]["%flags%"] %dataType% %getMethod%()

  {

     return %fieldCode%;

  }

 

uuid要使用Hibernate的生成策略,EJB中沒有。


5、再添加setterFunction文件:

  

.set_value(visibility,public,new)

.set_value(setMethod,set%.FU:fieldCode%,new)

[%visibility%]["%flags%"]%dataType% %setMethod%(%dataType% %fieldCode%)

  {

     this.%fieldCode% = %fieldCode%;

  }


6、把新建的getterFunction和setterFunction兩個文件加到class裏:

 

 [%getterFunction%]

  [%setterFunction%\n\n]


7、模塊註釋

  

/***********************************************************************

 * 模塊: %sourceFilename%

 * 作者: %Modifier%

 * 說明: Defines the %ObjectType% %Code%

 * 日期: %ModificationDate%

 ***********************************************************************/


總結

  PB中的語法很容易看懂,很容易上手,像if elseif 這些都用過的。

發佈了135 篇原創文章 · 獲贊 27 · 訪問量 32萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章