我的Web服务不会返回数据库中的所有行,即使我指定它来获取所有行

时间:2012-03-06 12:04:24

标签: java php web-services soap wsdl

我有一个网络服务,我希望撤回属于某个组的所有人员。我用NetBeans生成了所有java类文件(右键单击项目,选择“新建”,然后选择“数据库中的实体类”),所有类在数据库中都有相应的表。

数据库架构如下所示:

Person
 PK person_id: INT
    person_name     : VARCHAR

GroupPerson
 pfK person_id: INT
 pfK group_id: INT

Group
 PK group_id: INT
    group_name     : VARCHAR

生成的四个java类是:

  • GroupPerson
  • GroupPersonPK

我已经用一组三个人填充了数据库。

在Web服务中,有一个名为getGroupAndPersons(int groupId)的方法,它根据group_id返回组和所有相关人员。我调用在GroupPersson中声明的名为“GroupPerson.findByGroupId”的named query,它只是执行: SELECT a FROM GroupPerson a WHERE a.groupPersonPK.groupId = :groupId

当我在PHP中调用SOAP方法时,我只得到一个包含所选组的结果列表和属于该组的第一个人员,即使有很多人属于该组,也不会超过一个人群组。

所以我的问题是,即使有很多人与一个群体有关,我也永远不会从网络服务中返回一个以上的人。

1 个答案:

答案 0 :(得分:1)

您的网络服务方法的回报是什么?它应该是List,就是你拥有的,。?