问题标签 [dozer]

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 投票
2 回答
10334 浏览

java - 推土机映射HashMap列出

我有一个源对象,它具有:

和一个目标对象:

我正在尝试使用 Dozer 为我做这个映射,但我有点难过。我已经对单元测试和文档进行了分类,但我的挑战是我不确定我在寻找什么。

0 投票
1 回答
8973 浏览

spring - Dozer 自定义转换器 ID 映射:Object to Long 和 Long to Object via DozerConverter getParameter

我需要帮助配置我的推土机映射文件。

主要是我想知道如何让用户用户对象转换为长用户ID。
因此 map: user >> userId
但我有多个对象,例如评论 >> commentId 或地址 >> addressId

因此,我想要一些比为每个字段编写映射更优雅的东西。所有的对象都实现了 Loadable 接口。

由于 getParameter() DozerConverter 方法,下面的代码现在可以运行,但是如果您知道比我编写的转换器更好的方法,请告诉我。

// 推土机.xml

// Spring 应用程序上下文

//标准休眠对象

//DTO 对象

//可加载接口

//推土机转换器

0 投票
3 回答
4818 浏览

javabeans - Dozer BeanFactory:如何实现?

我查看了 Dozer 的常见问题解答和文档,包括 SourceForge 论坛,但我没有看到任何好的教程,甚至没有看到关于如何实现自定义BeanFactory的简单示例。

每个人都说,“只需实现一个 BeanFactory”。你具体是如何实现的?

我用谷歌搜索过,我看到的只是罐子和罐子的来源。

0 投票
1 回答
2139 浏览

hibernate - 推土机:Hibernate PersistentMap 未映射到 java.util.HashMap

我有一个带有字段的 Hibernate 注释实体:

Hibernate 以此为基础创建了一个 PersistentMap。然后我希望 Dozer 将其映射到具有这样一个字段的对象:

在进行了 LazyInitializationExceptions 和一些调试之后,我发现这不是关闭 Hibernate 会话的问题,而是 Dozer 尝试不映射到 HashMap 而是映射到 PersistentMap!因此,当 Dozer 访问目标地图时,PersistentMap 会抛出异常,因为它当然没有会话。

所以,我认为 Dozer 的意图行为是映射到 HashMap。现在的问题是:我做错了什么还是推土机,我怎样才能让推土机将 PersistentMap 映射到普通的 Java 标准地图?

我以前使用 List 时没有问题。有没有其他人使用 Dozer 来映射 Hibernate PersistentMap?

问候, Konsumierer

0 投票
2 回答
3054 浏览

java - Bean Mapping (Dozer) 的 Hibernate Persistence 问题

我正在使用 Hibernate 3,并且在持久化与现有分离实体有关联的新实体时遇到特定问题。解释这一点的最简单方法是通过代码示例。我有两个实体,FooEntity 和 BarEntity,其中一个 BarEntity 可以与许多 FooEntity 相关联:

Foo 和 Bar 是为各种字段松散定义 getter 的接口。有相应的 FooImpl 和 BarImpl 类,它们本质上只是没有注释的实体对象。

我要做的是构造一个新的 FooImpl 实例,并在设置多个字段后将其持久化。新的 Foo 实例会将其“bar”成员设置为来自数据库(通过 session.get(..) 检索)的现有 Bar(运行时是 BarEntity)。在 FooImpl 设置完所有属性后,Apache Dozer 用于在“域”对象 FooImpl 和实体 FooEntity 之间进行映射。Dozer 在后台所做的是实例化一个新的 FooEntity 并设置所有匹配的字段。BarEntity 也通过实例化克隆并设置 FooEntity 的“bar”成员。

发生这种情况后,将新的 FooEntity 对象传递给持久化。这会引发异常:

以下是正在发生的步骤的代码

我已经能够通过删除或更改 @Cascade 注释来解决这个问题,但这限制了未来的使用,比如添加一个新的 Foo 已经附加了一个新的 Bar 。我在这里缺少一些解决方案吗?如果这个问题以前没有在某个地方得到解决,我会感到惊讶,无论是通过改变 Dozer 如何映射 Foo 的子级或 Hibernate 如何对分离的子实体做出反应。

0 投票
2 回答
2473 浏览

java - 推土机:将单个字段映射到 Set

您如何将单个字段映射到SetDozer 中?

我有一个像这样的课程:

我想映射barbaz进入ids列表,但我无法做到这一点。

0 投票
2 回答
2788 浏览

java - 推土机:映射列表时的类强制转换异常

我有两个值对象(ValueObjectA 和 ValueObjectB),每个都有 name1 和 name2

然后我有两个列表,每个列表都包含一个值对象,我打算用推土机对其进行映射。

一旦我访问映射的“listOfB”,我就会得到一个类强制异常,因为推土机将 ValueObjectA 类型的对象映射到 ValueObjectsB 列表中。

是否可以在不迭代列表和逐个对象映射的情况下映射这两个列表?

示例代码:

0 投票
1 回答
8841 浏览

java - 我正在使用推土机映射器。如果字段为空,我如何将默认值设置为字段?

我需要共同转换很多字符串字段,如果字段为空,我想设置自己的值。我该怎么做?为所有领域写二传手,我认为这不是最好的解决方案。推土机映射器中是否有用于此操作的选项?
我也可以编写自己的转换器,但我想知道,有没有通用的解决方案?

0 投票
3 回答
6895 浏览

java - 带有自定义转换器的推土机双向映射(字符串,字符串)不可能?

我有一个带有自定义转换器的推土机映射:

和转换器:

当我在一个方向(客户->客户DAO)调用映射器时,会调用“convertTo”方法。

由于 Dozer 能够处理双向映射,我希望只要我在相反方向调用映射器,就会调用方法“convertFrom”。

但是永远不会调用 convertTo 方法。

我怀疑问题是,这两种类型都是字符串 - 但我怎样才能使它工作?

作为一种解决方法,我创建了两个单向映射,这是标准解决方案,还是行为错误?

0 投票
1 回答
3230 浏览

java - 使用 Dozer 将原始类(字符串、布尔值等)相互映射

我正在尝试使用 Dozer 自动从原始类映射到彼此。最后,代码可能最终看起来像这样。

虽然 Dozer 确实支持映射StringBooleanbean 中的 when,但它似乎直接映射到Boolean产生以下异常。

很明显,Dozer 正在尝试实例化布尔值本身。我可以创建一个客户DozerConverter来将 Boolean 转换为 String,但我不想重新实现 Dozer 已经拥有的代码。有没有办法让 Dozer 直接映射到原始类型?