问题标签 [orika]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1714 浏览

java - 实体列表到响应(包装器)对象中 DTO 列表的 Orika 数据映射

我马上承认我是 Orika 的新手,我仍在学习它的工作原理以及它的输入/输出。

我发现自己所处的情况是由 EmberJS Web 客户端调用的 Web 服务,它返回地址列表(JSON REST 对象)。我遇到的问题是我必须返回的响应是一个外壳/包装器对象,它只包含一个列表。我从 DAO 中检索此列表,并需要将其映射到响应对象中的列表。

将实体列表映射到 dto 列表很容易;我能做到的。但我不太清楚如何将该实体列表映射到响应对象,或者更确切地说是该响应对象中的 dto 列表。

我已经成功地做到了这一点:

但是,如何向 mapperFactory 指定我想要将 List 映射到要设置到 AddressesResponse.addresses 属性中的 List 呢?

在我的 Java Web 服务中,这是一个返回值:

0 投票
2 回答
2995 浏览

java - Orika 可以映射嵌套集合吗?

我想使用 Orika 库映射具有嵌套集合的字段。我在课堂上的领域定义为:

Pojo 是一个简单的 POJO 类。不幸的是,我在 Orika 的内部逻辑中遇到了由 NullPointerException 引起的 MappingException。

我做错了什么吗?也许我需要使用自定义映射功能?

编辑:

这是我的代码:

}

public class Source { private final List> list = new LinkedList>();

}

public class Destination { private final List> listDest = new LinkedList>();

}

公共类主要{

}

执行上述代码会导致此异常:

0 投票
1 回答
283 浏览

guice - 如何使用 Google Guice 注入 Orika FactoryMapper impl?

使用Google Guice,如何注入Orika的 MapperFactory 的实现?

私有 MapperFactory mf = new DefaultMapperFactory.Builder().build();

即默认构造函数不可访问,您需要使用构建器。

0 投票
2 回答
2039 浏览

java - 当我只得到空指针异常时如何调试失败的映射

我通常在我的项目中使用 Orika 并取得了巨大的成功。
我添加了一个新类型,同时注册了源和目标,当我使用 mapper.mapAsList(sourceList, targetClass) 映射它时,出现以下异常

只是空指针异常。

现在我一直在尝试调试它很长时间但没有成功(主要是因为它大部分是生成的代码)。

问题:

  1. 获得有意义的例外的最佳方法是什么。
  2. 我该如何调试它?
  3. 有没有办法查看生成的类。

谢谢

0 投票
1 回答
581 浏览

jdbc - Orika 映射 jdbc ResultSet Bean

我希望我的 Java 层使用存储过程与我的数据库通信。存储过程充当兼容层,因此我可以运行两个不同版本的应用程序,期望在同一个数据库上使用两个不同的模式。

为此,我想使用 Orika 将 JDBC ResultSet 快速映射到我的 Beans 上。

到目前为止,我已经编写了这个测试代码:@Test public void testSelectAndMap() throws Exception { Assert.assertNotNull(dataSource); 尝试(连接 con = dataSource.getConnection()) { try(Statement stmt = con.createStatement()) {

这很好用,速度很快,但是我编写 ResultSet 到 Bean 代码所花费的时间并没有少多少。但如果我能自动生成映射,它会为我节省很多时间。

我看着IntrospectorPropertyResolver。我写了这样的代码:

这很好,Orika 自动确定 bean 上的属性名称并在 expr 中将其提供给我。但它并没有告诉我类型。它也没有告诉我我要映射到什么。我只需要假装在这种情况下目标是一个 ResultSet。

  1. 我如何知道我试图将数据放入的 expr 的类型?如果是,String我将进行内联绑定调用ResultSet.getString("expr")并告诉 Orika 使用java.lang.String. 如果是时间戳,我将进行内联绑定调用Resulset.getTimestamp("expr")并告诉 Orika 使用Timestamp
  2. 我怎么知道我正在尝试映射 from ResultSettoInternalTestPojo与例如Mapto InternalTestPojo
0 投票
2 回答
407 浏览

orika - orika 属性表达式映射

给定

如何在 Orika 中映射以下内容?

我需要定制的 Mapper 或 Filter 吗?

0 投票
1 回答
13250 浏览

java - 使用 Orika 在包含 List 的两个对象之间进行映射

我正在尝试使用 Orika 在包含List<...>List 类型是另一个对象的两个对象之间进行映射,但是尽管尝试了 Orika 中映射配置的各种排列,mapperFactory.classMap(...)但在我运行程序时会引发异常。

查看http://orika-mapper.github.io/orika-docs/mappings-via-classmapbuilder.html似乎表明映射 a 的语法List应该是parentProperty{childProperty}.

出于这个问题的目的,我已经简化了我试图映射的对象。源对象是ToDoTaskListEntity,目标对象是ToDoTaskListDTO。源对象ToDoItemEntity包含一个定义为的列表,List<ToDoItemEntity>目标对象包含一个相应的列表,定义为List<ToDoItemDTO>

我的问题是我应该如何定义 Orika 之间的映射配置,ToDoTaskListEntity以便ToDoTaskListDTO子对象List<ToDoItemEntity>也映射到List<ToDoItemDTO>它们各自的父对象内?


我的映射配置代码如下:

调用映射的代码如下:

我的源对象的代码如下:

我的目标对象的代码如下:

Orika抛出的异常如下:

0 投票
1 回答
1770 浏览

java - 如何用 Orika 映射泛型对象?

我正在使用 Orika 1.4.5,我想让我的 BidirectionalConverter 进行映射 PaginatedResponse<T> to PaginatedResponse<S> ,反之亦然。

PaginatedResponse 类如下:

所以我希望我的 PaginatedResponseCovnerter 接受转换所在的所有地图调用PaginatedResponse<Something> object1 to PaginatedResponse<OtherSomething> object2,并且我希望 object1 和 object2 具有相同的 orderBy 和 paging 属性。所以我尝试这样做:

但问题是我必须用泛型参数注册这个自定义转换器,而这些并不总是相同的。我希望如果我尝试转换 fromPaginatedResponse<SomeClass1> to PaginatedResponse<SomeClass2>是一样的,PaginatedResponse<AnotherClass1> to PaginatedResponse<AnotherClass2>顺便说一句,我不能这样做:

因为通过这种方式,所有 PaginatedResponse 调用都会进入 PaginatedResponseConverter 但我不知道类的真实类型,所以当它进入 converTo 或 convertFrom 方法时,需要通用参数的确切类来执行 mapAsList() 方法

你能帮我解决这个问题吗?

0 投票
1 回答
1170 浏览

mysql - Orika Mapper + Gson (JSON) + MySQL 的例外情况

我正在尝试基于 Spring MVC + MySQL 在我的网络上实现某种“投票系统”。我遇到的问题是我要映射 2 个类。一个是我用来通过网络移动数据的 DTO,另一个是我用来通过 Hibernate 访问数据库的 DTO。到目前为止,一切都很好。

我试图实现的想法是在 DTO 上有一些列表,将它们转换为 JSON,然后将它们保存在数据库中(作为字符串)。

现在,为了映射这两个对象,我使用了 Orika 自定义映射。发生在我身上的有趣的事情是,我能够将我拥有的列表作为 JSON 保存到数据库中(我正在使用 GSON 来转换它们),但是当我需要它们时,Orika 会抛出异常。

我现在将尝试使我的代码尽可能清晰,看看是否有人可以帮助我。正如我告诉你的那样,当需要保存数据时,我完全没有问题,但是当我需要将其取出时(获取字符串,将其解析为 JSON,然后解析为 List),它就会崩溃. 有任何想法吗??提前致谢

奥里卡制图

恩奎斯塔

恩奎斯塔DTO

经理

例外

MySQL 表

0 投票
1 回答
1328 浏览

java - orika - 单向映射

我正在尝试在班级级别进行单向映射工作。

我有2个类图如下:

这些类映射不能用于双向映射。所以,我使用了 2 个不同的映射。但是使用具有双向映射的两个不同的类映射会使上述任何一个都不起作用。我正在寻找一种仅将类映射用于单向映射的方法,以便我可以同时使用上述两种方法。

任何帮助将非常感激。谢谢。