Forums de discussion
Service builder relationships
hadi mohammadi, modifié il y a 10 années.
Service builder relationships
Junior Member Publications: 48 Date d'inscription: 03/06/13 Publications récentes
Hi
I'm new to use service builder.
Please tell me how I can define a relationship in service builder.
I have two entity . A book and A library. How can I define their relationship by service builder.
Please introduce a resource or at least a sample for relations in service builder.
Thanks for your consideration.
I apreciate your help.
I'm new to use service builder.
Please tell me how I can define a relationship in service builder.
I have two entity . A book and A library. How can I define their relationship by service builder.
Please introduce a resource or at least a sample for relations in service builder.
Thanks for your consideration.
I apreciate your help.
hadi mohammadi, modifié il y a 10 années.
RE: Service builder relationships
Junior Member Publications: 48 Date d'inscription: 03/06/13 Publications récentes
this is my service.xml
but when i build service.xml, i see below error in consol
<!--?xml version="1.0" encoding="UTF-8"?-->
<service-builder package-path="com.liferay.library">
<author>MidunamPeyman</author>
<namespace>LIB</namespace>
<entity name="Library" local-service="true" remote-service="true">
<column name="libId" type="long" primary="true" />
<column name="libName" type="String" />
<order by="asc">
<order-column name="libId" />
</order>
<finder name="LibId" return-type="Collection">
<finder-column name="libName" />
</finder>
</entity>
<entity name="Book" local-service="true" remote-service="true">
<column name="bookId" type="long" primary="true" />
<column name="bookName" type="String" />
<!-- relationship -->
<column name="libId" type="Collections" entity="com.liferay.library.Library" mapping-key="libId" />
<order by="asc">
<order-column name="bookId"></order-column>
</order>
<finder name="BookId" return-type="Collection">
<finder-column name="bookName" />
</finder>
</entity>
</service-builder>
but when i build service.xml, i see below error in consol
[Console output redirected to file:/home/hadi/workspace/.metadata/.plugins/com.liferay.ide.eclipse.sdk/sdk.log]
Buildfile: /home/hadi/liferay/liferay-plugins-sdk-6.1.1/portlets/LibraryAndBooks-portlet/build.xml
build-service:
[echo] Loading jar:file:/home/hadi/Root/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/system.properties
[echo] Sep 09, 2013 7:18:31 AM com.liferay.portal.kernel.log.Jdk14LogImpl info
[echo] INFO: Global shared lib directory /home/hadi/liferay/liferay-plugins-sdk-6.1.1/lib/
[echo] Sep 09, 2013 7:18:31 AM com.liferay.portal.kernel.log.Jdk14LogImpl info
[echo] INFO: Global lib directory /home/hadi/Root/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/lib/ext/
[echo] Sep 09, 2013 7:18:31 AM com.liferay.portal.kernel.log.Jdk14LogImpl info
[echo] INFO: Portal lib directory /home/hadi/Root/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/lib/
[echo] Loading jar:file:/home/hadi/Root/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/portal.properties
[echo] Loading jar:file:/home/hadi/Root/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/com/liferay/portal/tools/dependencies/portal-tools.properties
[echo] Loading file:/home/hadi/Root/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/classes/portal-ext.properties
[echo] Sep 09, 2013 7:18:31 AM com.liferay.portal.kernel.log.Jdk14LogImpl info
[echo] INFO: Properties for portal loaded from [file:/home/hadi/Root/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/classes/portal-ext.properties, jar:file:/home/hadi/Root/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/com/liferay/portal/tools/dependencies/portal-tools.properties, jar:file:/home/hadi/Root/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/portal.properties]
[echo] Building Book
[echo] Error on line 93, column 33 in com/liferay/portal/tools/servicebuilder/dependencies/model_impl.ftl
[echo] serviceBuilder.getSqlType(packagePath + ".model." + entity.getName(), column.getName(), column.getType()) is undefined.
[echo] It cannot be assigned to sqlType
[echo] The problematic instruction:
[echo] ----------
[echo] ==> assignment: sqlType=serviceBuilder.getSqlType(packagePath + ".model." + entity.getName(), column.getName(), column.getType()) [on line 93, column 33 in com/liferay/portal/tools/servicebuilder/dependencies/model_impl.ftl]
[echo] ----------
[echo] Java backtrace for programmers:
[echo] ----------
[echo] freemarker.core.InvalidReferenceException: Error on line 93, column 33 in com/liferay/portal/tools/servicebuilder/dependencies/model_impl.ftl
[echo] serviceBuilder.getSqlType(packagePath + ".model." + entity.getName(), column.getName(), column.getType()) is undefined.
[echo] It cannot be assigned to sqlType
[echo] at freemarker.core.Assignment.accept(Assignment.java:111)
[echo] at freemarker.core.Environment.visit(Environment.java:221)
[echo] at freemarker.core.MixedContent.accept(MixedContent.java:92)
[echo] at freemarker.core.Environment.visit(Environment.java:221)
[echo] at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)
[echo] at freemarker.core.Environment.visit(Environment.java:428)
[echo] at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
[echo] at freemarker.core.Environment.visit(Environment.java:221)
[echo] at freemarker.core.MixedContent.accept(MixedContent.java:92)
[echo] at freemarker.core.Environment.visit(Environment.java:221)
[echo] at freemarker.core.Environment.visit(Environment.java:310)
[echo] at freemarker.core.CompressedBlock.accept(CompressedBlock.java:73)
[echo] at freemarker.core.Environment.visit(Environment.java:221)
[echo] at freemarker.core.MixedContent.accept(MixedContent.java:92)
[echo] at freemarker.core.Environment.visit(Environment.java:221)
[echo] at freemarker.core.Environment.process(Environment.java:199)
[echo] at freemarker.template.Template.process(Template.java:237)
[echo] at com.liferay.portal.freemarker.FreeMarkerUtil.process(FreeMarkerUtil.java:47)
[echo] at com.liferay.portal.freemarker.FreeMarkerUtil.process(FreeMarkerUtil.java:37)
[echo] at com.liferay.portal.tools.servicebuilder.ServiceBuilder._processTemplate(ServiceBuilder.java:4983)
[echo] at com.liferay.portal.tools.servicebuilder.ServiceBuilder._createModelImpl(ServiceBuilder.java:2293)
[echo] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.<init>(ServiceBuilder.java:671)
[echo] at com.liferay.portal.tools.servicebuilder.ServiceBuilder.main(ServiceBuilder.java:151)
BUILD FAILED
/home/hadi/liferay/liferay-plugins-sdk-6.1.1/build-common-plugin.xml:207: Service Builder generated exceptions.
Total time: 8 seconds
</init>
ahad bahmanian, modifié il y a 10 années.
RE: Service builder relationships
New Member Publications: 8 Date d'inscription: 07/11/12 Publications récentes
Hi Hadi,
change this:
1- Collections ----------- > Collection
2- better change
<column name="libId" type="Collections" entity="com.liferay.library.Library" mapping-key="libId" />
to
<column name="libId-fk" type="Collection" entity="com.liferay.library.Library" mapping-key="bookId" />
mapping-key must refer to field in source table with same data type.
change this:
1- Collections ----------- > Collection
2- better change
<column name="libId" type="Collections" entity="com.liferay.library.Library" mapping-key="libId" />
to
<column name="libId-fk" type="Collection" entity="com.liferay.library.Library" mapping-key="bookId" />
mapping-key must refer to field in source table with same data type.