在我看來,應該自動生成的代碼一般/首選不能手動更改,因爲我們不能再生任何東西。但一位經驗豐富的休眠用戶告訴我,他會一直更改hbm2java生成的代碼以適應他的需求。 「適合需要」也很重要,所以我不確定這個主要的好處是什麼。應該改變hibernate生成的代碼以適應需求嗎?
1
A
回答
3
應該自動生成的代碼一般/首選不可用手改變?
- >不應該手工更改代碼,因爲如果您手動更改代碼並且下次再次自動生成pojo類時。您可能需要做很多更改,並且難以保持手動更改。如果你錯過了重大的改變,那麼再次成爲人類犯錯誤,那對你來說真的會非常困難。
但是一位經驗豐富的hibernate用戶告訴我,他會一直更改hbm2java生成的代碼以適應他的需求。
- >您可以更改代碼生成(復仇)腳本根據您的需要生成類,而不是在生成的代碼中進行手動更改。
1
我在這種情況下使用aspectJ,因爲我也不喜歡改變生成的代碼。它也有幫助,因爲你無法通過再生代碼破壞的東西...(記:它不會是你總是觸發生成)
0
您最好通過Reveng-Templates間接更改代碼!
- 如果您重新生成源,您的自定義將丟失。
要更改模板提取的Hibernate工具來源pojo
-folder你喜歡我下面的示例src/main/templates/pojo/Pojo.ftl
的文件夾。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<components>
<component>
<name>hbm2java</name>
<outputDirectory>src/main/java</outputDirectory>
</component>
</components>
<componentProperties>
<!-- to change the filename of the entitys to *Impl.java for examle -->
<reversestrategy>mypackage.MyStrategy</reversestrategy>
<revengfile>/src/main/config/hibernate.reveng.xml</revengfile>
<configurationfile>/src/main/config/hibernate.cfg.xml</configurationfile>
<!-- modify the templates to your needs -->
<templatepath>src/main/templates</templatepath>
</componentProperties>
</configuration>
</plugin>
非常歡迎改變模板(即使它們很難閱讀)!通常不可或缺地結合長時間的會話。
相關問題
- 1. C# - 我可以/應該簡化/改變這段代碼嗎?
- 2. 什麼是字段我應該改變我的代碼,以適應我自己的代碼?
- 3. 我應該忽略WPF生成代碼的InterfaceMethodsShouldBeCallableByChildTypes嗎?
- 4. 我應該單元測試生成的Java代碼嗎?
- 5. 適應舊的反應原生代碼
- 6. 生成該代碼
- 7. 我應該生成HTML表單嗎?
- 8. 我應該生成異常消息嗎?
- 9. PHP框架應該生成JavaScript嗎?
- 10. 我們應該刪除Facebook應用程序生成的請求嗎?
- 11. 我應該在生產代碼中使用Google的JSAPI嗎?
- 12. 應該/可以生成一個類的數據庫模式嗎?
- 13. 可以用javacc生成java代碼嗎?
- 14. ORDER BY應該改變結果集嗎?
- 15. 令牌應該每次都改變嗎?
- 16. 改變後我應該重繪GUI嗎?
- 17. 我應該改變繪畫順序嗎?
- 18. Resources.Designer.cs應該受源代碼控制嗎?
- 19. 我應該重構這段代碼嗎?
- 20. 代碼生效時它不應該是
- 21. Xcode4斷點適應代碼更改?
- 22. 改進代碼以生成分佈
- 23. Spring + Hibernate最適合網頁應用嗎?
- 24. 修改生成的代碼
- 25. Django遷移應該在源代碼控制中生存嗎?
- 26. Hibernate工具可以生成JPA POJO嗎?
- 27. 我們應該跟蹤代碼以外的其他事情嗎?
- 28. 的Web應用程序代碼生成
- 29. Python變量不應該改變,但它改變了嗎?
- 30. 修改代碼以適應Android Studio中的不同配置
如何用revenge.xml解決這個問題? http://www.mkyong.com/hibernate/hibernate-error-collection-has-neither-generic-type-or-onetomany-targetentity/ – user447586