0

我有个问题:

  1. 我在一个 Java EE 项目中工作,GUI 是由其他人编写的。
  2. 我创建了数据库
  3. 我编写了一个包含实体的 Java SE 应用程序(使用 Netbeans 7.1)(我让 Netbeans 从数据库中生成这些实体并安装它们)
  4. 我编写了测试类,编写了 ejb 并对其进行了测试。
  5. 然后,我编写了一个单例 Web 服务,其中注入了其他 bean。
  6. 我是 web 服务,我得到了预期的结果:可以获取所有实例的列表(数据库中的行),通过 ID 获取实例的实例,更新并保存它:所有 CRUD 操作都可以。
  7. 在客户端,一个 Java SE 应用程序(使用 Netbeans 7.1)中,我通过指定 WSDL URL(在 6 中创建的 Web 服务)添加了一个“Web 服务客户端”。

我得到的都是分离的物体。每个对象及其所有字段(作为字符串)除了 ID(主键)。而不是更新,我得到了一个插入(因为编辑的对象在客户端上没有 ID)。删除根本不起作用。其他操作(findAll、findById)都OK。我必须使用 DTO(数据传输对象)吗?我读到从 ejb3.1 开始不再需要这些

在客户端,对于 findAll 操作,Netbeans 不接受使用实体:它强制我使用自动生成的“dtos”,它具有与实体几乎相同的文件(除了主键或 ID),但作为字符串。

4

1 回答 1

0

问题解决了。我不知道为什么,但是 Netbeans 在没有主键的情况下自动生成了 DTO,因此并非所有 CRUD 都是可能的。这花了我很长时间,并引起了很多头痛!

梅齐亚内

于 2012-05-05T21:12:44.040 回答