9

嘿,我已经和学生一起创建了自己的 service.xml。现在我想为学生添加我自己的 searchByName 方法。你能解释一下在 StudentLocalServiceImpl 中写什么吗?

 public class StudentLocalServiceImpl extends StudentLocalServiceBaseImpl {
/*
 * NOTE FOR DEVELOPERS:
  *
 */

public List<Student> getAll() throws SystemException {
    return studentPersistence.findAll();
}

public Student getStudentByName(String name) {
    return studentPersistence.
}

// 我创建了一个方法 getAll。
我需要另一个人的帮助。
提前致谢。

4

1 回答 1

4

service.xml您将首先在您定义的实体中将其声明为“查找器”元素。

例如

<finder name="Name" return-type="Student">
    <finder-column name="name" />
</finder>

如果想要 a作为返回类型,如果 name 不是唯一的,return-type也可能是这样。CollectionList<Student>

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

您还可以为该列声明一个比较运算符:

<finder name="NotName" return-type="Collection">
    <finder-column name="name" comparator="!=" />
</finder>

unique="true"查找器实际上也可以通过指定查找器上的属性来声明要在此关系上生成的唯一索引(将应用于 DB 表) :

<finder name="Name" return-type="Student" unique="true">
    <finder-column name="name" />
</finder>

有了这个定义并在重新运行之后ant build-servicestudentPersistence将包含使用在 xml 元素中找到的查找器名称并附加前缀的新方法:countBy、findBy、fetchBy、removeBy 等。

最后,您的服务方法只需要包含以下内容(基于上述内容):

public Student getStudentByName(String name) throws SystemException {
    return studentPersistence.findByName(name);
}

高温高压

于 2012-11-30T18:48:35.963 回答