gpt4 book ai didi

java - 从 Scala 代码轻松创建 Java DTO 对象的实例

转载 作者:行者123 更新时间:2023-12-01 13:26:57 25 4
gpt4 key购买 nike

我正在将 GWT 项目的服务器端转换为使用 Scala 而不是 Java。我有许多 RPC servlet,它们执行数据库查找,然后将结果映射到 ArrayList,其中可能有像 SomeDTO 这样的类

  override def listTrips(): util.ArrayList[TripRoleDTO] = {
val trd = new TripRoleDTO
trd.setRoleType(RoleType.TripAdmin)
trd.setTripName(sessionDataProvider.get().getSessionUser.getEmail)
val res: util.ArrayList[TripRoleDTO] = new util.ArrayList[TripRoleDTO]()
res.add(trd)
res
}

而不是

@Override
public ArrayList<TripRoleDTO> listTrips() {
final SessionData sessionData = sessionDataProvider.get();
final List<TripRole> tripsForUser = tripAdminProvider.get().listTripRolesForUser(sessionData.getSessionUser().getId());
return newArrayList(transform(tripsForUser, DTOConverter.convertTripRole));
}

请注意,Java 实现实际上进行了 DB 调用(我仍在 Scala 中弄清楚这一点),但它通过 Google Guava 的 Iterables.transform 进行 DTO 转换。方法。

由于 DTO 对象需要是 .java 文件,GWT 客户端可以使用什么优雅的方式将我的 Scala 域对象转换为 DTOS?

最佳答案

使用 GWT RequestFactory用于自动创建 DTO。可以使用接口(interface)和 @ProxyFor 注释简单地定义 DTO,请参阅提供的链接中的示例。

如果由于某种原因不能使用 RequestFactory,那么请考虑使用 Dozer将域对象映射到 DTO,这经常与 GWT 一起使用。

关于java - 从 Scala 代码轻松创建 Java DTO 对象的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21767731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com