问题标签 [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.
java - 如何在 HyperJaxb3 Cxf 项目中将现有 Id 设置为主键(从 wsdl 生成代码)?
我正在尝试重新定义现有 ID 的主键,但使用从 wsdl 文件生成的 Apache CXF 插件。wsdl 文件在这里 - https://api.mindbodyonline.com/0_5/ClientService.asmx?wsdl
我的 pom.xml:
我的 binding.xml 在这里-
但选择的 ID 未转换为 @Id。
如何更改我的 binding.xml 以进行转换?
回答 Aleksei 1 条评论:
我添加了更一般的请求以涵盖所有需要的 ID 并通过 FindPath Mozilla 扩展验证所有结果 - 只选择了需要的元素`
`
生成了类,但是当我运行“mvn process-classes”时,我收到了一个错误:
我认为在 ArrayOfAppointment 中生成 Hjid 和在 Appointment 中生成 Id 是可行的;
ArrayOfAppointment.java:`
`
`
完整的堆栈跟踪 -
java - Hyperjaxb3:如何让它使用超类的 id?
我正在尝试从 *.xsd 文件中生成一组 Java 类,这些文件都有一个通用的映射超类(称为 DataObject)。到目前为止,我已经设法使用 bindings.xjb 文件中的以下内容生成作为 DataObject 后代的类:
我的问题是 Hyperjaxb3 生成了自己的主键,称为 hjid,但 DataObject 已经包含一个主键,我需要/想要使用它。
那么,如何阻止 Hyperjaxb3 为所有类生成 hjid?我已经尝试了我在网上找到的各种建议,但它们对我不起作用。
java - hyperjaxb3:枚举问题
我正在尝试使用 hyperjaxb3 从此处可用的三个 .xsd(C14054.xsd、C14054CodeLists.xsd 和 C14054DataTypes.xsd)创建关系模式,然后从 XML <-> Java <-> Relational 编组数据。
与我评估过的非常昂贵的商业工具相比,hyperjaxb3 在创建关系模式方面已经做得更好——但我不能完全让它用 Enums 做我想做的事情。
例如,在 C14054.xsd 中,“Provider”元素引用“RECID”
这又是 TYPE 'RECIDCodeType'
来自 C14054CodeLists.xsd
它扩展了 RECIDCodeContentType
- 枚举类型在数据库中创建为具有“HJID”和“VALUE_”列的“查找表”。表的主键是否可以是 VALUE_,而不是自动编号 HJID?
即,Provider.RECID(我更改了 bindings.xjb 中的列名)的唯一有效条目(在数据库层)可以是“14054”吗?
- 创建模式时,枚举值是否可以持久保存到关系表中?
即可以将 14054 作为一行添加到数据库中的 Sub purposecodetype.VALUE_ 列中吗?
非常感谢任何人都可以散发的光芒!
maven - 在外部 jaxb-Binding 中编辑 @java.persitence.Table
我已经建立了一个 maven 项目来从 xsd-Schema 生成 Java 类。首先,我配置了 maven-hyperjaxb3-plugin(参见下面的 pom.xml 片段),以便它可以将默认的 JPA2 注释放在实体中。其中一个注解是@java.persitence.Table(name = "table_name")。我想通过外部全局绑定扩展此注释,以便我也可以将模式名称放入其中。这样我就会得到@java.persitence.Table(name = "table_name", schema = "schema_name")。有没有办法做到这一点?在表名中全局添加前缀怎么样:@java.persitence.Table(name = "prefix_table_name"),有什么想法吗?
问候 Erzen
pom.xml 片段
bindings-xjc.xjb 片段
jpa - Hyperjaxb 忽略 binding.xjb 中的自定义
我正在使用 hyperjaxb3,它成功地解决了我的大部分问题。
但是,我整个上午都在处理一个我无法解决的问题。很可能是我完全忽略的那些愚蠢和愚蠢的事情之一,但我无法找到它。
问题是,在 bindings.xjb 中,我试图更改为我的一个实体生成的表名,但无论我尝试什么,我设置的值都会被完全忽略。
这些是相关文件的内容:
XSD 文件(只是一个片段)
绑定.xjb
pom.xml(只是依赖和构建部分)
生成的java文件
我绝对确定正在读取绑定文件:我检查了两个 maven 日志,如果我为 xpath 表达式设置了一些奇怪的值,我会得到一个与它们相关的运行时异常。
此外,它不仅忽略了表名自定义。我尝试更改实体名称、架构、为简单属性设置不同的列长度...在所有这些测试中,输出始终与我在上面复制的相同。
而且我还检查了现有的样本,但看不出我做错了什么。
问候
jpa - 如何使用 Hyperjaxb3 表名自定义列表项?
在我的 XSD 中,我有一个 xs:choice 元素,它被 JAXB 转换为一个新类型的 List。
使用 Hyperjaxb3,我正在尝试自定义与该新类型关联的表的名称,但我无法做到。
XSD:
显式维度.java
ExplicitDimensionMemberItem.java
我需要如何使用 bindings.xjb 来将EXPLICIT_DIMENSION_MEMBER_IT_0更改为我需要的值?我一直在查看文档和示例,但找不到任何相关示例。
希望这是我与此相关的最后一个问题。提前致谢。
java - 在 hyperjaxb3 中将一对多关系标记为不可更新或不可插入
我有这个 XSD 定义,用于通过 Hyperjaxb3 生成 JPA 对象。基本上,我需要的是生成的类将允许我访问列而不是实体。我希望能够直接修改CASE_ID字段,而不是通过实体
这是配置文件binding.xjb的一部分
这完美地工作。但是,这会生成这样的字段。
我需要的是一种修改 hyperjaxb 配置的方法,以便能够生成如下内容:
作为这个@JoinColumn(name = "CASE_ID", updatable = false, insertable = false)我无法弄清楚如何在我的binding.xjb文件中进行配置,所以我可以像这样定义我的复杂类型
java - 将 columnDefinition 属性添加到 Hyperjaxb 生成的 @Column 属性
我正在使用 Hyperjaxb 生成我的 JPA 映射。然后我使用 hibernate3-maven-plugin 生成数据库的 SQL Script。我的问题在于我有一个类型,它的属性定义如下:
sql脚本定义这样的列
JPA实体是这样定义的
我使用 MySql 作为后端。当我的 JPA/Hibernate entityManager 尝试针对数据库验证我的 JPA 模型时,问题就出现了。然后我得到这个错误
我该如何解决这个错误?在我读到的某个地方,我可以在 java 代码中做这样的事情
但是我的 JPA java 代码是由 Hyperjaxb 自动生成的,那么如何使用 Hyperjaxb 实现类似的功能呢?
java - 从现有数据库或 JPA 实体生成 XSD 模式
我一直在使用 hyperjaxb 工具从 XSD 模式生成 JPA 实体和数据库脚本。现在我基本上想要逆运算。如何基于 JPA 注释实体或数据库生成 XSD 模式?我正在使用 Maven,所以任何 Maven 解决方案都会更可取。
java - 设置 hyperjaxb 映射以强制实现外部接口
我有一个 hyperjaxb xsd 文件和绑定配置。如何强制我生成的类实现在另一个工件中声明的自定义接口?我知道我可以让他们通过使用扩展另一个类
但我也需要他们实现另一个接口。我怎样才能做到这一点?