Version 2.2.1 of the HiSrc HyperJAXB project uses JDK 21 for the build but the artifacts produced preserve Java 11 compatibility. Project dependencies and Maven plugins have been updated to current versions.
- Improve EntityMapping for episodes: d67ffb4.
- Add naiveInheritanceStrategy parameter: cce24b3.
- Improve episode persistence unit configuration: c6b42ac.
- Update ORM schema to v3.1: 2f99c38.
- New
generation-type
,UUID
.
- New
Since version 2.2.0, the HiSrc HyperJAXB project uses JDK 21 for the build but the artifacts produced preserve Java 11 compatibility. Project dependencies and Maven plugins have been updated to current versions. For assemblies and testing, the HiSrc HigherJAXB Maven plugin has been refactored to eliminate the deprecated maven-compat
dependency in favor of the Maven Resolver/Aether dependencies, Issue patrodyne/hisrc-basicjaxb#17.
Note: The HiSrc HyperJAXB Maven Plugin is an extension of the HiSrc HigherJAXB Maven Plugin; thus, the deprecated
maven-compat
dependency has also been eliminated, for it, in favor of the Maven Resolver/Aether dependencies.
Since version 2.1.1, the HiSrc HyperJAXB project standardizes the XJC plugin option naming/usage, logging and error handling, enable all tests to use either Hibernate or EclipseLink JPA providers, adds a generateValueConstructor
param to HyperjaxbMojo
, removed inappropriate precision/scale for double
/float
defaults, limit inheritance to extended roots to reduce unnecessary DTYPE
columns, and updates its Maven plugin and dependency versions.
Since version 2.1.0, the source/target (release) compatibility is at Java 11, up from Java 8. And, JDK 17 is used for the build. JAXB dependencies are at version 4.x for Jakarta EE 10.
To allow for JDK 17 management of reflective access to modularized code, JVM system arguments are now included in the build from src/test/resources/jvmsystem.arguments
.
For example,
--add-opens java.base/java.net=ALL-UNNAMED
, if used, allows all of the code on the class path to access non-public members of public types in thejava.base/java.net
package.
Since version 2.0.0, the HiSrc HyperJAXB project supports Jakarta EE dependencies. Maintained by the Eclipse Foundation Project, Jakarta EE is the new name for the technology formerly known as Java Enterprise Edition. Within the Jakarta EE dependencies, the package names prefixed by javax
have changed to jakarta
. In addition, the HiSrc HyperJAXB package names have changed from org.jvnet.hyperjaxb[23]
to org.jvnet.hyperjaxb
and the XML schema namespace changed from http://hyperjaxb3.jvnet.org/ejb/schemas/customizations
to http://jvnet.org/hyperjaxb/jpa
to better reflect the project name.
The HiSrc HyperJAXB Maven Plugin generates Java source code with imports from the Jakarta EE XML Binding, Specification v3.0 (JAXB) and the Jakarta EE Persistence API, Specification v3.0 (JPA). In other words, the source code generated by xjc
with the HyperJAXB extension import the jakarta.xml.bind and jakarta.persistence package names.
This release provides ZIP download(s) to explore the HiSrc HyperJAXB Maven plugin. Each ZIP exploration is a stand-alone Maven project that uses the HiSrc HyperJAXB Maven Plugin to generate JPA and JAXB annotated Java classes produced by the xjc
compiler from an XML schema. Each exploration (-exNNN-
) includes a Swing application named Explorer for your review and/or modification. The application presents a lesson with actions you can use to produce dynamic output for real-time experimentation. Sample projects (-sample-
) address specific topics, as might appear on StackOverflow or GitHub.