Геттеры не создаются для вас автоматически. Каждая сущность представляет собой таблицу в базе данных, поэтому вам придется создавать любые геттеры, которые вы сочтете полезными. К счастью, Service Builder также может генерировать это, если вам нужно.
Сначала мы просим Service Builder создать таблицу сопоставления между Students
и Courses
.
<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" mapping-table="Courses_Students" />
</entity>
<entity name="Course" local-service="true" remote-service="true" cache-enabled="false">
<column name="courseId" type="long" primary="true" />
<column name="students" type="Collection" entity="Student" mapping-table="Courses_Students" />
</entity>
Далее мы создаем соответствующий метод в CourseLocalServiceImpl
:
public List<Course> getStudentCourses(long studentId)
throws PortalException, SystemException {
return coursePersistence.getCourses(studentId);
}
Чтобы получить Courses
из объекта Student
, мы создаем метод внутри сгенерированного StudentImpl.java
:
public List<Course> getCourses() throws Exceptions {
return CorseLocalServiceUtil.getStudentCourses(getStudentId());
}
Наконец, заново создайте свои классы, запустив ant build-service
.
Теперь мы можем получить все курсы, которые изучает студент, написав:
List<Course> courses = CourseLocalServiceUtil.getStudentCourses(studentId);
or
List<Course> courses = student.getCourses();
person
rp.
schedule
17.06.2014