问题标签 [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.
java - 推土机映射HashMap列出
我有一个源对象,它具有:
和一个目标对象:
我正在尝试使用 Dozer 为我做这个映射,但我有点难过。我已经对单元测试和文档进行了分类,但我的挑战是我不确定我在寻找什么。
spring - Dozer 自定义转换器 ID 映射:Object to Long 和 Long to Object via DozerConverter getParameter
我需要帮助配置我的推土机映射文件。
主要是我想知道如何让用户用户对象转换为长用户ID。
因此 map: user >> userId
但我有多个对象,例如评论 >> commentId 或地址 >> addressId
因此,我想要一些比为每个字段编写映射更优雅的东西。所有的对象都实现了 Loadable 接口。
由于 getParameter() DozerConverter 方法,下面的代码现在可以运行,但是如果您知道比我编写的转换器更好的方法,请告诉我。
// 推土机.xml
// Spring 应用程序上下文
//标准休眠对象
//DTO 对象
//可加载接口
//推土机转换器
javabeans - Dozer BeanFactory:如何实现?
我查看了 Dozer 的常见问题解答和文档,包括 SourceForge 论坛,但我没有看到任何好的教程,甚至没有看到关于如何实现自定义BeanFactory的简单示例。
每个人都说,“只需实现一个 BeanFactory”。你具体是如何实现的?
我用谷歌搜索过,我看到的只是罐子和罐子的来源。
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
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 如何对分离的子实体做出反应。
java - 推土机:将单个字段映射到 Set
您如何将单个字段映射到Set
Dozer 中?
我有一个像这样的课程:
我想映射bar
并baz
进入ids
列表,但我无法做到这一点。
java - 推土机:映射列表时的类强制转换异常
我有两个值对象(ValueObjectA 和 ValueObjectB),每个都有 name1 和 name2
然后我有两个列表,每个列表都包含一个值对象,我打算用推土机对其进行映射。
一旦我访问映射的“listOfB”,我就会得到一个类强制异常,因为推土机将 ValueObjectA 类型的对象映射到 ValueObjectsB 列表中。
是否可以在不迭代列表和逐个对象映射的情况下映射这两个列表?
示例代码:
java - 我正在使用推土机映射器。如果字段为空,我如何将默认值设置为字段?
我需要共同转换很多字符串字段,如果字段为空,我想设置自己的值。我该怎么做?为所有领域写二传手,我认为这不是最好的解决方案。推土机映射器中是否有用于此操作的选项?
我也可以编写自己的转换器,但我想知道,有没有通用的解决方案?
java - 带有自定义转换器的推土机双向映射(字符串,字符串)不可能?
我有一个带有自定义转换器的推土机映射:
和转换器:
当我在一个方向(客户->客户DAO)调用映射器时,会调用“convertTo”方法。
由于 Dozer 能够处理双向映射,我希望只要我在相反方向调用映射器,就会调用方法“convertFrom”。
但是永远不会调用 convertTo 方法。
我怀疑问题是,这两种类型都是字符串 - 但我怎样才能使它工作?
作为一种解决方法,我创建了两个单向映射,这是标准解决方案,还是行为错误?
java - 使用 Dozer 将原始类(字符串、布尔值等)相互映射
我正在尝试使用 Dozer 自动从原始类映射到彼此。最后,代码可能最终看起来像这样。
虽然 Dozer 确实支持映射String
到Boolean
bean 中的 when,但它似乎直接映射到Boolean
产生以下异常。
很明显,Dozer 正在尝试实例化布尔值本身。我可以创建一个客户DozerConverter
来将 Boolean 转换为 String,但我不想重新实现 Dozer 已经拥有的代码。有没有办法让 Dozer 直接映射到原始类型?