google.com, pub-5747754088801811, DIRECT, f08c47fec0942fa0 Skip to main content

One to Many Relationship liferay


  • In Real life Student can assign to multiple course. Here we see example of One to Many where student can assign to many courses.


Create service in portlet.



  • Add below content in your portlet service.  



<entity name="Student" local-service="true" remote-service="true" cache-enabled="false">
    <column name="studentId" type="long" primary="true" />
    <column name="courses" type="Collection" entity="Course"/>
</entity>

<entity name="Course" local-service="true" remote-service="true" cache-enabled="false">
 
<column name="courseId" type="long" primary="true" />
   <column name="studentId" type="long"/>

    <finder name="courseId" return-type="Collection">
        <finder-column name="courseId" />
    </finder>

    <finder name="studentId" return-type="Collection">
        <finder-column name="studentId" />
    </finder>

</entity>


  • Run service.



  • Now add below method in CourseLocalServiceImpl to make to finder mehod in publicly available with help of CourseLocalServiceUtil.


  public List<Course> getCourseForStudent(Long studentId) throws SystemException{
               return this.coursePersistence.findBystudentId(studentId);
}


  • Now Again run Service.


  • The method will available in CourseLocalServiceUtil which can use anywhere in your portlet.




Comments

Popular posts from this blog

Liferay portlet with alloy Ui form validator example.

 Alloy Ui  is built on YUI and we can use it in our liferay portlets.  Yui provides many component which are easy to use in our portlets  Here we see basic form validator.example with liferay portlet. Create portlet AlloyUi-portlet in eclipse. Add below content in view.jsp file Here we create two link for two JSP. <%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> <script src="http://cdn.alloyui.com/2.5.0/aui/aui-min.js"></script> <link href="http://cdn.alloyui.com/2.5.0/aui-css/css/bootstrap.min.css" rel="stylesheet"></link> <portlet:defineObjects /> <portlet:renderURL var="basicform"> <portlet:param name="mvcPath" value="/BasicFormValidatorExample.jsp"/> </portlet:renderURL> <portlet:renderURL var="fullform"> <portlet:param name="mvcPath" value="/FullFormValidatorExample.jsp"/> </portlet:re...

Start open office in linux through command for liferay

Some time liferay not generate preview and not allow conversion from word to pdf etc. The reason can be it is not started with root access. Please fire below command to start soffice with the root access. First Kill the soffice proccess. pkill -9 soffice Execute below command to run it sudo soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &