我是新來的Liferay service.xml的(服務構建器),任何人都可以請建議一些方法來生成現有數據庫Discussion on Liferay Website的service.xml中。我希望人們可能已經有所發展,或者Liferay爲此開發了一些插件。Liferay的Portlet的:如何從現有的數據庫
回答
我認爲在將Servicebuilder引入大型現有數據庫時沒有特別的用處:您可以將servicebuilder實體連接到「遺留數據源」或「遺留表」(這些創建良好搜索條件),但service.xml生成尚未完成AFAIK。
一些問題,這種方法是:
- servicebuilder有大約在數據庫操作的某些假設。它的完成來封裝的Liferay運行在所有不同的數據庫,因此可能不會使用每個數據庫它可能
- 最大範圍內。如果你有一個大現有的數據庫,你可能有很多現有的業務邏輯,以確保正確的數據放進去並離開數據庫。你甚至可以用存儲過程等
- 工作,而你可以用存儲過程servicebuilder工作,你就必須引入自定義SQL來解決servicebuilder的假設。明確的外鍵關係等也是如此。
我的建議是在現有的業務邏輯上有一個合適的接口, Web服務,JSON,休息,無論什麼流行。然後在Liferay的portlet中使用這個接口。
另一種選擇可能是使現有的持久性代碼到Liferay的,只是公開服務而不使用的Servicebuilder的持久性功能。爲此,您只需定義空的<entity>
塊(帶有名稱等)。這將產生相應的DoSomethingLocalService
,但省略了持久性的實現 - 你可以在這些服務連線現有的代碼。
很多這個問題的答案 – yannicuLar
謝謝奧拉夫的回答 –
你可以通過下面的鏈接瞭解服務構建在Liferay中
https://www.liferay.com/documentation/liferay-portal/6.0/development/-/ai/service-build-2
而且下面的鏈接有樣品服務構建的portlet
https://www.liferay.com/community/forums/-/message_boards/message/17609606
希望它能幫助!
感謝ankit,我已經經歷了這些。 –
沒有做過但據我所知。由於Liferay直接不支持DB的所有數據屬性,如外鍵,一對一映射等,因此創建這種反思工程是一項挑戰。但你可以試試看。
即使他們將J2EE應用程序遷移到liferay portlet,他們如何忽略這一點。 –
他們不推薦J2EE應用程序遷移到Liferay。門戶和企業應用程序的實際概念是不同的。與企業門戶網站相比,Liferay還有一些不足之處,但它們正在對您的查詢進行升級和快速響應。這可能是在他們的管道中,但是當我大約8個月前參加過訓練時,他們沒有聽到他們的任何消息。 –
Service Builder通常是創建相對較小的數據庫和簡單的業務邏輯的一個很好的功能,同時還爲您提供了在部署portlet時自動生成表以及查找(通過X屬性搜索)沒有努力。如果數據庫出現這種情況,從頭開始創建一個新的service.xml會容易得多。除此之外,我認爲在Liferay的Service Builder中有一個擴展數據庫將會帶來更多的問題和緩慢的開發,同時你要實現一個複雜的業務邏輯,創建自定義查找器,無論何時需要查詢表連接等等。因此,我認爲將數據庫轉換爲Service Builder不可用。
換句話說,如果你的數據庫是太大,它寫在service.xml中,你不應該擺在首位
- 1. 定製現有的內置Liferay portlet
- 2. Liferay的RSS portlet
- 3. 如何從現有的數據庫
- 4. 創建liferay portlet - 如何將數據從Java類傳遞給view.jsp?
- 5. 如何從Liferay portlet中的URL獲取參數?
- 6. 如何從liferay中取消部署portlet?
- 7. 如何從portlet訪問liferay菜單
- 8. 如何從Eclipse部署portlet到Liferay
- 9. Liferay的Spring MVC的Portlet的
- 10. 如何在我自己的portlet中使用liferay的嵌套Portlet?
- 11. 的Liferay:如何通過Portlet類
- 12. Liferay:可以從其他Portlet觸發Portlet
- 13. 如何複製liferay portlet
- 14. JSF的portlet的Liferay上6.1
- 15. Liferay的Portlet的問題
- 16. Portlet到Liferay中的Portlet通信
- 17. 如何在Portlet中獲得Liferay的Hibernate Session實現?
- 18. 如何從Liferay中的頁面中刪除錯誤的portlet?
- 19. 如何刪除默認郵件從Liferay的Portlet的
- 20. 從Liferay Portlet左到右
- 21. 從liferay portlet觸發註銷
- 22. 從liferay portlet訪問用戶?
- 23. 如何在liferay中構建特定於portlet的portlet
- 24. Liferay - 跨所有portlet的主題?
- 25. Portlet使用liferay和icefaces共享數據
- 26. AJAX JSON數據檢索(Portlet + Liferay + JSON + Spring)
- 27. Liferay上的grails portlet分頁
- 28. 來自liferay文檔的portlet
- 29. 修改Liferay的市場portlet
- 30. Liferay Portlet中的事件
你的使用情況是,你要編寫使用自己的Portlet使用服務構建一個包含您的業務數據的現有數據庫 - 是否正確?你需要什麼Service Builder提供的(自動生成的Web服務,把你的表放入Liferay數據庫等等),還是隻需要訪問數據庫就可以使你的portlet工作?如果是後者,則不需要使用ServiceBuilder。 – npskirk