当前位置: 首页 > 面试题库 >

JAXB / XJC父子父导航

有骏祥
2023-03-14
问题内容

我想在子对象和父对象之间的类中使用双向导航方法。在我的情况下,IDREF是不够的,因为我不想指定父代的ID。要清楚,从这样的xsd:

<complexType name="A">
    <xs:sequence>
        <element name="b" type="B" minOccurs="0" maxOccurs="unbounded"></element>
    </xs:sequence>
    <attribute name="id" type="ID"></attribute>
</complexType>
<complexType name="B">
    <attribute name="id" type="ID"></attribute>
</complexType>

我希望类看起来像这样:

class A {
    ...
    public List<B> getB() { ...}
    ...
   }
class B {
    ...
    public A getA() {
    ...
}

而且我的xml必须看起来像这样:

<a id="a1">
    <b id="b1"/>
    <b id="b2"/>
    ...
</a>

解组后,我希望能够通过b.getA())从A导航到Bs,从B导航到A!这是一个非常基本的功能,但我找不到实现此目的的简单方法…

任何想法 ??

提前致谢


问题答案:

您可以创建一个
void afterUnmarshal(Unmarshaller, Object parent)被称为…
的方法,在解组后,根据需要设置对象树。



 类似资料:
  • 伪代码: 为什么大多数程序通常不允许这样做(我从未见过)? 程序不能识别出它何时进行了循环并停止执行任务吗? 对于实例: 假设这些对象是3d网格,我们想在x轴上转换对象A 2个单位。通常,父子关系会移动A的任何子级。所以它穿过子树,并用A翻译x轴上的每个子级2个单位。然后它到达树中的对象A,而不是移动它,为什么不让它检查身份,如果身份返回true,然后停止移动东西? 这只是软件开发人员的懒惰吗?

  • 我有一个场景,需要在一种情况下加载所有子值,在另一种情况下加载一些特定的子值。我对这两种情况都使用一个bean,并使用命名查询编写查询。 现在在我的查询2中,我只需要加载字符串A,而不需要加载字符串B和字符串C。我试过使用 但得到以下错误 那么,关于如何继续这方面的任何建议。。

  • 使用JPA(Hibernate)我试图实现以下关系,并想知道其他人是否对最佳方法有任何建议: 基本上是完全不相关的对象,每个对象都有一个公共子对象的集合;在对象模型中实现简单,在数据库中稍微麻烦些! 我确信这一定是常见的事情,但是我很难找到任何示例实现,因为我真的不知道正确的搜索词。 谢谢你的时间!

  • 问题内容: 我有这个main.go文件: 我有这个目录结构: 当我使用以下命令构建项目时: 我收到此编译错误: src / main / main.go:3:8:/ home / oleg / codes / oresoftware / oredoc / test / builds / go / src / one / entities / bar中没有Go文件 该错误是有道理的。有什么方法可以从

  • 根据JAXB规范http://jaxb.java.net/2.2.4/docs/xjc.html如果你想运行JAXB-XJC编译器,你可以传递的扩展/参数之一是-XProperty tyaccess ors,即使它已经在JAXB-RI的每一个中被指定,直到最近的一个2.2.5u2,当我尝试通过这个参数运行它时,我得到“无法识别的参数-XProperty tyaccess ors”,当我运行它时,帮

  • 问题内容: 我正在尝试创建一个论坛设置,您可以在其中对特定帖子发表评论,并将回复按日期顺序显示在父项的正下方。父级下面只有一个子级别。这是示例数据集: 这就是我想要最终得到的: 我知道我需要某种CTE,但这不会在适当的父项下对子项进行排序(显然,因为没有ORDER BY子句);我不知道正确的顺序。谁能提供一些见识? 问题答案: 对于单个级别的深度,您无需使用递归-尝试: