【问题标题】:error when the method create an object (persisted entitiy)方法创建对象(持久化实体)时出错
【发布时间】:2013-11-02 02:26:14
【问题描述】:

我正在使用 eclipse 和 GWT 在 java 中编写汽车租赁代理的 Web 应用程序,但我遇到了一个错误,该服务器方法被失败的 RPC 使用,createRentDTO:

 private RentDTO createRentDTO(Rent rent) {
    return new RentDTO( createEmployeeDTO(rent.getEmployee()),
                               createClientDTO(rent.getClient()), 
                               createCarDTO(rent.getCar()), 
                               rent.getId() );
        }

我注意到,如果我将 createRentDTO 的返回 更改为以下内容,它会起作用:

     return new RentDTO(new EmployeeDTO("mike", "smith", (long) 99, "mike87","qwe123"), 
                        new ClientDTO("harry", "jones", "cl24h89"), 
                        new CarDTO("SUBARU", "supercar", (long) 25000,(long) 12), 
                        rent.getId()  
                       );

问题显然是我不能用“harry”“jones”之类的随机值填充班级,但我必须采用我已经保存的员工、客户和汽车的值(我想使用 getEmployeeDTO .getClientDTo .getCarDTo 之类的租金获取器?)。 我该怎么做?为什么我尝试的第一种方法不起作用?

这里有一些与问题相关的其他代码: Rent.class

   public class Rent implements Serializable {

      Employee employee;
      Client client;
      Car car;
      long id;

      // getter and setter like:
      public Employee getEmployee() {
    return employee;
  }
      // getCar() and getClient are equal to getEmployee [...]

   }

Employee, client car 都是简单的类(它们被序列化以使它们可保存在数据库中)彼此非常相似,具有一些属性,例如 name ,姓氏、用户名、密码、ID 或价格。

我只会写Employee.class

   public class Employee {

String name;
String surname;
@Id
Long id;
String username;
String password;

    // + getter and setter like getName() , getSurname() .....
   }

这是方法 createEmployeeDTO() :

(createCarDTO 和 createClientDTO 是相等的……唯一改变的是一些属性)

      private EmployeeDTO createEmployeeDTO(Employee employee) {
          return new EmployeeDTO(employee.getName(),
                                      employee.getSurname(), 
                                      employee.getId(),
                                      employee.getUsername(),
                                      employee.getPassword() );
      }

rent 类 的目的是使 Web 应用程序的用户能够选择哪些员工 已将 汽车 租给客户

当 RPC 失败时,它会给出一般错误

"500 服务器调用失败;详情请查看服务器日志"

但是码头的服务器日志只说POST方法失败,在eclipse控制台中没有错误。

感谢您的帮助,请随时询问

【问题讨论】:

    标签: java object gwt methods persistence


    【解决方案1】:

    您的 DTO 是否有零参数的构造函数?能见度不重要? 如果没有零参数构造函数,您的调用将失败。

    您的 DTO 是否在共享包中?如果你想在服务器端和客户端使用你的 DTO,它们必须在一个共享包中。

    将日志级别更改为 TRACE 以获取服务器日志中的更多信息。

    【讨论】:

      猜你喜欢
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 2011-11-01
      • 2018-05-01
      • 2014-04-07
      • 2013-04-06
      • 1970-01-01
      • 2011-09-17
      相关资源
      最近更新 更多