问题标签 [hyperjaxb]

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 回答
591 浏览

java - Hyperjaxb @Entity

如何避免在@Entity 注解中声明派生类的完全限定名?我有以下xsd:

但它会生成以下 java 源代码:

我需要从@Entity 中明确删除名称,就像:

谢谢,

0 投票
2 回答
725 浏览

java - 我们是否需要 HyperJAXB 生成的 hashCode 和 equals 方法?

我们已经使用 HyperJAXB 生成了一些(很多)类。所有的类都实现了 Equals 和 HashCode 并且具有下面的实现风格。似乎这段代码永远不会执行..我们需要这段代码有什么特别的原因吗?如果可以的话,我希望简化课程。

0 投票
1 回答
160 浏览

java - 从 java.net 应用补丁

我对与此错误相关的 Jaxb 枚举有疑问

https://jaxb.dev.java.net/issues/show_bug.cgi?id=708

已为该问题提供了可以解决该问题的补丁程序。如何应用此补丁来解决我的问题

0 投票
1 回答
499 浏览

java - HyperJAXB 和 IDREF

我最终设法摆弄了 HyperJAXB,以便当 XSD 具有 complexType A 并且它具有到 complexType B 的 IDREF 时,HyperJAXB 将在两个生成的实体之间生成 @OneToOne JPA 注释。

但是现在我面临另一个问题:XSD 具有复杂类型 X,它可以 IDREF 到复杂类型 Y 或复杂类型 Z。最后,我需要复杂类型 X 的实例包含对 Y 类或 Z 类实例的引用.

您是否有任何疯狂的想法,如何在不手动更改生成的类的情况下做到这一点?同时确保将这些实体编组为正确的 XML?

使用允许生成类以实现特定接口的 JAXB 插件怎么样?这会导致任何地方吗?

0 投票
2 回答
2632 浏览

web-services - Hyperjaxb 和 Apache CXF

我正在尝试将 Hyperjaxb3 与 Apache CXF 一起使用,以从 WSDL 优先的 Web 服务生成持久性注释。我已经将 Hyperjaxb3-ejb-plugin 插入 cxf-codegen-plugin,就像这样。

当我生成源代码时,我得到以下信息堆栈跟踪。

一段时间以来,我一直在努力解决这个问题。我试图在没有 Hyperjaxb 的情况下继续该项目,但不想产生维护成本。有任何想法吗?异常的解决方案或使用 Hyperjaxb 的替代方案会很棒。

0 投票
1 回答
628 浏览

java - HyperJaxb3 和 xsd:anyType

我有一个看起来像的架构片段

hyperjaxb3 生成的类包含以下片段:

我知道休眠将难以持久化纯对象,因此 hyperjaxb 假设可以将对象解组为 XML 字符串,并持久化生成的字符串。就我而言,这不是真的,但我可以保证 toString() 方法会返回一些有用的东西。我希望生成的代码看起来更像:

无论如何我可以获得这种效果或类似的东西吗?

谢谢,

标记。

0 投票
2 回答
1046 浏览

java - Tapestry 中的表单编码

我对 Tapestry 表单有疑问。我的 XML 数据库对编码非常敏感,需要 utf-8。

当我将 char 'à' 放入表单时,tapestry 收到 'Ó' 并且我的核心收到错误:3 字节 UTF-8 序列的字节 2 无效。

我在 eclipse 中使用 tomcat 的本地默认配置没有问题。

但无论 tomcat 配置如何,我认为我的应用程序必须自己进行转换。

所以我尝试:

  • charset="utf-8" 形式 => FAIL
  • AppModule中的 buildUtf8Filter => FAIL

每页的字符集始终为 utf-8。

那么,在使用 java Charset 编码器之前我可以做什么呢?

感谢你们对我的帮助。:)

0 投票
2 回答
1304 浏览

jpa - hyperjaxb3 xsd:JPA 实体中的字符串长度

我使用 Hyperjaxb3 从 XSD 模式生成 JPA 实体。我有一个要用于描述文本(UI 中的文本区域)的 xsd:string 类型:

Hyperjaxb3 生成带有属性值的类(实体)描述,注释如下:

我的问题:

我看到如果我对 xsd:simpleType 设置 xsd:maxLength 限制,JPA @Column.length 的值为 maxLength。如何在 xsd:simpleContent 上设置 xsd:recriction,即 xsd:xsd:string 的扩展?我是否必须使用我将扩展的 xsd:restriction 定义一个 complexType?如果是,Hyperjaxb 会根据我的限制生成@Column.length。我试过以下:

但是 JPA 的列长度仍然是 255。

是否也可以在我的 JAXB 自定义(*.xjb 文件)中为给定类型设置列的长度(不知何故让 hyperjaxb 知道这是我想用于我的特定类型的 orm)?或者它完全不碍事,应该使用 xsd:maxLength(上图)我设法为 Hyperjaxb 定制全局设置它:

谢谢你的帮助。

0 投票
1 回答
826 浏览

hibernate - JSF + Hyperjaxb3 + Hibernate LazyInitializationException 跨请求

我有 JSF 应用程序,其中包含由 Hyperjaxb3 生成的 trinidad 组件和 JAXB/JPA 实体 bean。在 UI 中,我使用具有 JPA 对象作为值的 Trinidad 组合框组件。

场景是:

  1. 用户在组合框中进行选择
  2. 用户单击向服务器发送请求并返回相同表单的控件
  3. 表单中的数据已提交,组合框中的选择应与用户在步骤 1 中所做的一样。对组合框项(JPA 对象)调用 equals() 方法并引发此异常:

org.hibernate.LazyInitializationException:未能延迟初始化角色集合:package.AnObject.items,在 org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) 处没有关闭会话或会话在 org.hibernate.collection .AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)

我使用 Spring 中的 OpenEntityManagerInViewFilter 来获取延迟加载的对象——在一个请求中工作。

在 HyperJAXB 生成的对象equals()方法级别上调用该对象的每个属性的equals(Object object, EqualsBuilder equalsBuilder)方法。equalsBuilder.append(...)当该属性是一个列表时,它由 PersistenBag 代理,这就是我得到 LazyInitializationException 的地方。

equals()方法 - 由 HyperJaxb 生成:

equals(Object object, EqualsBuilder equalsBuilder)由 HyperJaxb 生成:

你们有什么想法如何解决这个问题?

我尝试使用 JSF 转换器并让 SelectItem 带有一个字符串值(不是对象),但是如果我记得在 String 转换为我的对象之后调用了正确的 equals()。

0 投票
1 回答
264 浏览

java - 强制 hyperjaxb2 在休眠映射上生成 fetch="select" 属性(在标签)

我们在我们的应用程序中发现了一个问题(连接太多表的选择查询)。这个问题的解决方法是在我们的hibernate映射文件中设置fetch="select"tag <join>

但是这个映射是由 hyberjaxb2 生成的。我还没有找到如何将 fetch 属性添加到<join>标签中。我可以使用以下方法更改目标表名称(即:MyTable):

但如果我把它改成

我的映射文件中没有添加任何内容。

那么,如何<join>使用 hyperjaxb2 在标签上添加 fetch 属性?

谢谢你。