问题标签 [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.
mapping - 在 Orika 自定义映射器中调用外部服务
让我们承认我想用 Orika将对象A映射到对象B。对象B的一个字段是通过使用我在对象A中的参数调用外部 Web 服务来构造的。
创建一个使用调用外部服务的服务的 Orika 自定义映射器是一种好习惯,还是应该在外部类中分离这种行为?
spring - Orika 类不可访问
从 DTO 映射到休眠实体时,出现以下异常:
ma.glasnost.orika.MappingException: ma.glasnost.orika.impl.generator.CompilerStrategy$SourceCodeGenerationException: class com.exmaple.MyEntity_$$_jvst402_4 不可访问
该实体是公开的。
版本:
- spring-boot-starter-data-jpa:1.4.0.RELEASE
- 奥里卡:1.4.6
- 休眠:5.0.9.Final。
php - 相当于 PHP 的 Java Orika/Dozer/MapStruct 数据映射器(Laravel/Eloquent)?
我想知道是否有用于 PHP/Laravel/etc 的 java 的 Orika 数据映射器的类似物?
我环顾四周,看到了 Doctrine 等,但这些似乎只是 ORM 的。我需要的是从旧的过时(严重规范化的数据库)映射/导入到新的 laravel/eloquent 数据库中。我有使用 Spring MVC 的经验,并且通常会使用 Orika 将旧对象映射到新对象。
PHP有类似的东西吗?
澄清一下,这纯粹是为了将旧数据库结构中的数据摄取到新数据库中。一旦我们对数据在新表结构中的外观感到满意,它将不再被使用。
作为最后的手段,我们甚至可以求助于在 java 中构建一个导入工具,但更喜欢 PHP 解决方案,因为其他开发人员在那里有经验。
mapping - Orika:将 2 个类的字段映射到一个类
有没有一种方法可以使用 Orika 将字段从类映射到一个类。
在 orika 文档中找不到解决方案。
在示例中,来自 ObjectOne 类的字段 test 和 name 应映射到相应的字段 ObjectNew。
与 ObjectTwo 的字段表相同
ObjectNew 的代码
当 ObjectOne 和 ObjectTwo 类的 id 相同时,来自 ObjectOne 和 ObjectTwo 类的字段应该启动新对象 ObjectNew。
任何想法如何处理这个?
亲切的问候
java - Orika 映射器 - 映射到列表
我有一个带有字段的对象,List<AnotherObject>
我想将它映射到带有字段的第二个对象List<String>
。我需要映射 2 个对象。我找不到路。
情况图类一 -> 类二:
实际业务比示例大得多,因此我排除了制作自定义映射器的可能性。
java - 从一个对象到另一个对象的 Orika 映射
我有一个类在同一类下有 2 个不同的对象:
我正在尝试在客户对象中映射 Addr -> AddressDTO 对象:
当我运行这个时,我得到这个错误:
原因:java.lang.IllegalArgumentException:java.lang.String 是一个不受支持的源类,用于构造 com.domain.AddressDTO 的实例
hibernate - Orika 和 Hibernate 托管集合
我目前正在使用 Orika 在 Hibernate 托管域对象和模型 (DTO) 之间进行映射。我这样做是因为我想在从 Model --> Domain 开始时合并集合,这样如果没有进行任何更改,实体的 Hibernate 版本号就不会迭代。我最初设置了一个映射器,定义如下:
这在实际上不使用持久层的单元测试中工作得很好,但是当我使用 Hibernate 进行集成测试时,它根本不会被调用。事实上,我的对象中的集合永远不会在任何一个方向上填充。挖掘发现这是由于 Hibernate 使用 PersistentList(实现了 List,但没有类型信息)。所以现在我有两个映射器:
如果我删除 A,那么 Orika 的行为就像映射器根本不存在一样。我认为这是因为当它分析我提供的所有类映射时,它找不到与 PersistentList 匹配的任何内容,因此不包括在内。
如果我删除 B,那么 Orika 将不会正确地将 Hibernate 返回的域对象映射到模型,因为它不会映射 PersistentList。
有没有办法让这个更干净?如何以明确的方式定义涵盖所有情况的单个映射?
java - 是否可以在 Orika 中将 List 索引指定为可选?
我正在尝试使用 Orika 将一种类型的地址对象映射到更简单的类型,但遇到了一个问题,如果我的列表没有至少与我在映射器中指定的一样多的元素,我会收到 IndexOutOfBounds 异常。
这是我的示例对象:
这是我的映射器:
但在我的示例中,源地址中的列表只有两个字符串。我希望有一种方法可以选择性地映射 address3 字段,但我似乎无法在 Orika 单元测试中找到示例。
当我尝试映射并获得异常时得到的输出是:
有谁知道这是否可以通过简单的方式实现,或者我是否必须为这种类型编写一个 CustomMapper?
java - 嵌套字段映射在 Orika Mapper 中不起作用
找到以下实体类:
在下面找到 DTO 类
我编写了以下映射器代码以将数据从 RoomEntity 复制到 RoomDTO
属性 - 代码和类型值正在从 RoomEntity 复制到 RoomDTO。
但是嵌套的属性值(hotel.name -> hotelName)没有被复制。
请帮助解决此问题。