Liferay Model Hints

這篇文章主要介紹如何通過model hint 來修改liferay builder service生成數據庫表中默認字段的長度。

1.什么是Model Hints?

它是對liferay builder service生成的model類的基本提示.

?

2. 它在什么地方被定義的?

portlet-model-hints.xml

?

3. 文件位置?

/docroot/WEB-INF/src/META-INF

?

?

4. 為什么被稱為Model Hints?

Liferay把它命名為Model Hints,因為Model Hints表明了實體呈現給用戶的方式,同時也指定了實體的字段在數據庫中占的內存大小。

?

5. 我能在portal源碼中找到關于model hints的更多詳細信息嗎?

能,在Liferay 7.0 ga4中, model hints的文件位于liferay-ce-portal-7.0-ga4/tomcat-8.0.32/webapps/ROOT/WEB-INF/lib/portal-impl/META-INF/portal-model-hints.xml

?

6. Model Hints的最佳用處是什么?

用來定義存儲在數據庫中實體的字段的size.

?

現在讓我們來看一下實例(改變service builder在數據庫生成的表的字段長度)

1. service.xml

<?xml version="1.0"?>
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 7.0.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_7_0_0.dtd"><service-builder package-path="my.test.sb"><namespace>FOO</namespace><!--<entity data-source="sampleDataSource" local-service="true" name="Foo" remote-service="false" session-factory="sampleSessionFactory" table="foo" tx-manager="sampleTransactionManager uuid="true"">--><entity local-service="true" name="Foo" remote-service="true" uuid="true"><!-- PK fields --><column name="fooId" primary="true" type="long" /><!-- Group instance --><column name="groupId" type="long" /><!-- Audit fields --><column name="companyId" type="long" /><column name="userId" type="long" /><column name="userName" type="String" /><column name="createDate" type="Date" /><column name="modifiedDate" type="Date" /><!-- Other fields --><column name="field1" type="String" /><column name="field2" type="boolean" /><column name="field3" type="int" /><column name="field4" type="Date" /><column name="field5" type="String" /><!-- Order --><order by="asc"><order-column name="field1" /></order><!-- Finder methods --><finder name="Field2" return-type="Collection"><finder-column name="field2" /></finder><!-- References --><reference entity="AssetEntry" package-path="com.liferay.portlet.asset" /><reference entity="AssetTag" package-path="com.liferay.portlet.asset" /></entity>
</service-builder>

2.生成的portlet-model-hints.xml

<?xml version="1.0"?><model-hints><model name="my.test.sb.model.Foo"><field name="uuid" type="String" /><field name="fooId" type="long" /><field name="groupId" type="long" /><field name="companyId" type="long" /><field name="userId" type="long" /><field name="userName" type="String" /><field name="createDate" type="Date" /><field name="modifiedDate" type="Date" /><field name="field1" type="String" /><field name="field2" type="boolean" /><field name="field3" type="int" /><field name="field4" type="Date" /><field name="field5" type="String" /></model>
</model-hints>

3. 在改變model hints之前數據庫中字段的長度

只是userName的長度是75

4. 現在改變portlet-model-hints.xml文件,內容如下。把useName的長度改為100

<?xml version="1.0"?><model-hints><model name="my.test.sb.model.Foo"><field name="uuid" type="String" /><field name="fooId" type="long" /><field name="groupId" type="long" /><field name="companyId" type="long" /><field name="userId" type="long" /><field name="userName" type="String"><hint name="max-length">100</hint></field><field name="createDate" type="Date" /><field name="modifiedDate" type="Date" /><field name="field1" type="String" /><field name="field2" type="boolean" /><field name="field3" type="int" /><field name="field4" type="Date" /><field name="field5" type="String" /></model>
</model-hints>

5. 運行cleanServiceBuilderTask(參照之前寫的清理service builder產生的table文)之后數據庫如下圖所示,userName的長度變成了100.

然后大功告成,更多詳細信息http://proliferay.com/liferay-model-hints/

https://dev.liferay.com/zh/develop/tutorials/-/knowledge_base/6-2/customizing-model-entities-with-model-hints#related-topics

?

轉載于:https://www.cnblogs.com/hibou/p/7084655.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370152.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370152.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370152.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

瀏覽器書簽備份管理

1、火狐瀏覽器備份導出HTML文件&#xff1a; CtrlJ 書簽 - 導入/導出 2、谷歌瀏覽器&#xff1a; 設置中 導入書簽 轉載于:https://www.cnblogs.com/AmbiguousMiao/p/8084721.html

選擇您的收藏庫

這真的是您應該煩惱的嗎&#xff1f; java.util.ArrayList和java.util.HashMap從根本上有問題嗎&#xff1f; 對于大多數源代碼&#xff0c;答案是–不&#xff1b; 這些實現完全可以。 但是&#xff0c;一如既往&#xff0c;細節決定成敗。 并存在情況下&#xff0c;當是內置…

里公式后面標號怎么對齊_你若會用Word里F4鍵,又何須加班到半夜?

F4鍵在Word里面表示重復上一個操作&#xff0c;但對于這個快捷鍵&#xff0c;你真的會操作嗎&#xff1f;本期與大家分享這個神奇的F4鍵&#xff0c;助你高效工作。1、批量復制文本在一般情況下&#xff0c;我們是用CtrlC復制內容&#xff0c;CtrlV粘貼內容&#xff0c;但遇到特…

全方位分析web前端如何進行性能優化

前言&#xff1a; 最近剛剛完成項目&#xff0c;空閑一段時間&#xff0c;想起之前有被問起怎么對前端進行性能優化&#xff0c;自己也是腦中零零散散的總不成體系&#xff0c;現特來總結&#xff0c;歡迎補充指教。 1、整體資源 &#xff08;1&#xff09;js、css源碼壓縮 &a…

DshanMCU-R128s2 SDK 架構與目錄結構

R128 S2 是全志提供的一款 M33(ARM)C906(RISCV-64)HIFI5(Xtensa) 三核異構 SoC&#xff0c;同時芯片內部 SIP 有 1M SRAM、8M LSPSRAM、8M HSPSRAM 以及 16M NORFLASH。 本文檔作為 R128 FreeRTOS SDK 開發指南&#xff0c;旨在幫助軟件開發工程師、技術支持工程師快速上手&am…

數據導出

數據導出和數據導入剛好是相反的&#xff0c;把邏輯反過來就可以了。 源碼&#xff1a;https://github.com/SeaLee02/FunctionModule/blob/master/UploadFiles/WebDemo/COM/DataToOut.aspx 效果&#xff1a; 然后勾選需要導出的數據&#xff0c;生成Excel 部分前臺&#xff1a;…

c語言清空輸入緩沖區函數,c語言:C語言清空輸入緩沖區在標準輸入(stdin)情況 -電腦資料...

C語言清空輸入緩沖區在標準輸入(stdin)情況下的使用程序1&#xff1a;//功能&#xff1a;先輸入一個數字&#xff0c;再輸入一個字符&#xff0c;輸出hello bit#include int main(){int num 0;char ch ;scanf("%d", &num);scanf("%c", &ch);pri…

Spring MVC 3:上傳多個文件

只是在辦公室又漫長的一天&#xff0c;數據庫不可用&#xff0c;一個團隊成員現在滯后一周。 因此&#xff0c;我們必須作為一個團隊來交付它。 在Spring3&#xff0c;它看起來很直接上傳文件。 但是&#xff0c;從jsp文件上載多個文件幾乎沒有幫助。 上載多個文件需要完成三件…

spring 事務隔離級別和傳播行為_Spring事務傳播性與隔離性實戰

一、事務傳播性1.1 什么是事務的傳播性事務的傳播性一般在事務嵌套時候使用&#xff0c;比如在事務A里面調用了另外一個使用事務的方法&#xff0c;那么這倆個事務是各自作為獨立的事務執行提交&#xff0c;還是內層的事務合并到外層的事務一塊提交那&#xff0c;這就是事務傳播…

前端為什么非要動靜分離 說一下CDN托管的意義

大型Web應用對速度的追求并沒有止步于僅僅利用瀏覽器緩存&#xff0c;因為瀏覽器緩存始終只是為了提升二次訪問的速度&#xff0c;對于首次訪問的加速&#xff0c;我們需要從網絡層面進行優化&#xff0c;最常見的手段就是CDN&#xff08;Content Delivery Network&#xff0c;…

unity語音聊天之 www.GetAudioClip

最近在開發語音聊天功能,游戲需要跨平臺安卓與ios&#xff0c;上傳本地錄制的wav文件至服務器后&#xff0c;需要根據服務器返回的地址進行語音文件的下載并進行播放。 這里通過使用www進行下載并播放 其中在ios播放時卻不行了&#xff0c;查詢官方文檔后發現&#xff0c;ios必…

輕談BFC

BFC 定義 CSS2.1的定義 Block formatting contexts 9.4.1 Block formatting contexts Floats, absolutely positioned elements, block containers (such as inline-blocks, table-cells, and table-captions) that are not block boxes, and block boxes with overflow other …

Java中的Selenium / WebDriver示例

幾年前&#xff0c;我正在忙于一些工作&#xff0c;客戶希望了解如何解決現實世界中的問題。 他們要求我自動化woot.com網站上的某些任務。 他們的任務是訪問各個網站&#xff0c;并閱讀當天商品的名稱和價格。 我寫了一些Selenium代碼&#xff0c;以為可以將其張貼在這里&am…

c語言中怎樣實現空格的替換,C語言實現去除字符串中空格的簡單實例

在網上看了些去除空格的代碼,覺得都不是很簡潔,就自己寫代碼實現它本著高效率,不使用額外存儲空間的想法實現該功能去除空格一共有三種&#xff1a;1、去除全部空格&#xff1b;2、一種是去除左邊空格&#xff1b;3、去除右邊空格想去除左右兩邊空格&#xff0c;只要先去除左邊…

python消息隊列中間件_python-RabbtiMQ消息隊列

1.RabbitMQ簡介AMQP&#xff0c;即Advanced Message Queuing Protocol&#xff0c;高級消息隊列協議&#xff0c;是應用層協議的一個開放標準&#xff0c;為面向消息的中間件設計。消息中間件主要用于組件之間的解耦&#xff0c;消息的發送者無需知道消息使用者的存在&#xff…

CSS position(定位)屬性

關于CSS position&#xff0c;來自MDN的描述&#xff1a; CSS position屬性用于指定一個元素在文檔中的定位方式。top、right、bottom、left 屬性則決定了該元素的最終位置。 然后來看看什么是文檔流(normal flow)&#xff0c;下面是 www.w3.org 的描述&#xff1a; Normal flo…

tomcat配置文件server.xml詳解

版權聲明&#xff1a;本文為博主原創文章&#xff0c;未經博主允許不得轉載。 目錄(?)[] 元素名 屬性 解釋 server port 指定一個端口&#xff0c;這個端口負責監聽關閉tomcat 的請求 shutdown 指定向端口發送的命令字符串 service name 指定service 的名字 Con…

均值,方差,協方差,協方差矩陣,特征值,特征向量

大牛博客&#xff0c;收藏一下 http://blog.csdn.net/yangleo1987/article/details/52845912轉載于:https://www.cnblogs.com/gaohai/p/8086626.html

Java ByteBuffer –速成課程

以我的經驗&#xff0c;當開發人員第一次遇到java.nio.ByteBuffer時&#xff0c;會引起混亂和細微的錯誤&#xff0c;因為如何正確使用它尚不明顯。 在我對API文檔感到滿意之前&#xff0c;需要反復閱讀API文檔和一些經驗以實現一些微妙之處。 這篇文章是關于如何正確使用它們的…

c語言cth三角函數表示,三角函數與雙曲函數基本公式對照表

圓函數(三角函數)1.基本性質&#xff1a;sin tan cos x x x ,cos cot sin xx x 1sec cos x x ,1csc sin x x tan cot 1x x sin csc 1x x sec cos 1x x 22sin cos 1x x 221tan sec x x ,221cot csc x x 2.奇偶性&#xff1a;sin()sin x x -- cos()cos x x - tan()tan x x --3.…