浏览 2903 次
锁定老帖子 主题:liferay持久化代码的自动生成
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-02-14
最后修改:2008-11-16
<?xml version="1.0"?> <!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 4.3.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_4_3_0.dtd"> <service-builder root-dir=".." package-path="com.ext.portlet">这个是路径一般和开发的portlet在一个包下 <portlet name="mail" short-name="mail" /> <entity name="MailEntry" local-service="false" remote-service="true" persistence-class="com.ext.portlet.mail.service.persistence.MailEntryPersistence" table="*****"> <!-- PK fields --> <column name="mailId" type="long" primary="true" /> <!-- Audit fields --> <column name="groupId" type="long" /> <column name="createDate" type="Date" /> <!-- Other fields --> <column name="name" type="String" /> column name这个值是要和表中的字段名一样,会自动全变成大写. <!-- Order --> <order by="asc"> <order-column name="createDate" case-sensitive="false" /> </order>排序设置. <!-- Finder methods --> <finder name="groupId" return-type="Collection"> <finder-column name="groupId" /> </finder> 增加的查找,删除的方法,默认情况下他会生成一些常用的方法,如:主键查找,查找所有,删除.你可以根据自已的需要来增加一些方法,包括多个字段的组合查找. </entity> <exceptions> <exception>EntryName</exception> </exceptions> </service-builder> OK,这个文件写好了以后,build-service这个文件,然后你就会发现在你的ext-impl包下面指定的地方多了两个文件夹,一个service,一个model.impl,service下面会有三个文件夹,如果有权限设置也是在这里的.然后在ext-service这个包下面也会多一个包,这个包下面有两个包,一个model,一个service.ext-impl/classes/META-INF/里面的hbm.xml,spring.xml,hints.xml会自动的加上相关的代码. 然后要修改其中的三个文件,ext-service/新建包名/service/***EntryService.java和***EntryServiceUtil.java,***EntryService.java这个是个接口,你可以把你要用到的一些持久化的方法(ext-impl/新建包名/service/***Entrypersistence.java中有所有的方法)写到这里,***EntryServiceUtil.java这里写上这些静态方法(在action中操作的时候就是调用这个类),最后一个要修改的是ext-impl/新建包名/service/impl/***EntryServiceImpl.java因为他实现了,***EntryService这个接口所以把他的实现方法写这里就好了. 以上我说的可能比较粗糙,其实自动生成这些文件后,修改那三个文件时,如果您不知道怎么改可以参照liferay的源码,他的目录层次和这个是一样的,在blog和journalArtlice里面相对应的三个文件就可以了,基本上是一看就明白了.最后一点自动生成spring.xml中bean id="com.ext.portlet.包名.service.persistence.***EntryPersistenceImpl 对应的class值,这个值每次总是个错的,不晓得为什么,要手动的改一下. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |