2017-07-13 27 views
0

我有六個表,有許多共同的領域。如何反向工程師與休眠以獲得映射的超類

十年前,我爲Hibernate Reverse Engineering指定了一些東西來創建一個映射的超類和六個類來擴展這個類。

我可以手動完成,但我相信這個功能一定還在那裏。

經過兩個小時的谷歌搜索和手工製作的pojos的例子,我找不到如何得到reveng做到這一點。

+0

我不是要求代碼,我只是找不到任何地方的文檔。 – user8243552

回答

0

我從來沒有弄明白。相反,我編寫了一個接口和一個抽象類,然後修改了生成的代碼。

不漂亮,但它實際上對我有更多好處。

奇怪的是,我的擴展類必須爲每個屬性設置一個setter方法,否則應用程序無法加載。

我創建setter方法,只是拋出UnsupportedOperationException異常

現在,如果可以只獲得這個項目的兩個源樹,並有由Hibernate生成的目標類編譯沒有這種無稽之談。

apply() { 
FILE=$1 
echo $FILE 
return 
#https://stackoverflow.com/questions/11694980/using-sed-insert-a-line-below-or-above-the-pattern 
#https://stackoverflow.com/questions/148451/how-to-use-sed-to-replace-only-the-first-occurrence-in-a-file 
sed -i -e "0,/implements/{s/implements/extends AbstractDemand implements/}" $FILE 

sed -i -e "3i \ 
import com.techwanker.diamond.planning.AbstractDemand;\\n\ 
import com.techwanker.diamond.planning.AllocationMode;\\n\ 
import com.techwanker.diamond.planning.demand.DemandType;\\n\ 
" $FILE 
} 

find_file() { 
    file=`locate $1 | grep "^$PWD" | grep $1\$` 
    return $file 


rm -rf src/main/java 
mvn hibernate3:hbm2java 
apply `find_file ApsDmdOo.java` 
apply `find_file ApsDmdSs.java` 
apply `find_file ApsDmdFc.java` 



cp -r src/main/java-required/java/* src/main/java 
cp -r target/generated-sources/* src/main/java 
mvn install