Blog: POJO ORM, mapping, binding, and the Immich-port baseline#5083
Closed
shai-almog wants to merge 1 commit into
Closed
Blog: POJO ORM, mapping, binding, and the Immich-port baseline#5083shai-almog wants to merge 1 commit into
shai-almog wants to merge 1 commit into
Conversation
…ort baseline Covers PRs #5047, #5062, and #5055 together. PR #5047: the three new build-time annotation processors that sit on top of the AnnotationProcessor SPI from #5037: - SQLite ORM (@entity / @id / @column / @DbTransient + EntityManager + Dao with createTable/insert/update/delete/findById/findAll/find). - JSON / XML mapping (@mapped + @JsonProperty / @JsonIgnore / @xmlRoot / @xmlelement / @XmlAttribute / @XmlTransient + Mappers.toJson / fromJson / toXml / fromXml). - Component binding (@bindable + @Bind with the new BindAttr enum + Binders.bind returning a Binding handle). - All generated as direct symbol references; no Class.forName, no service loader, no field reflection. R8 and ParparVM-rename safe. PR #5062: validation annotations (@required, @Length, @regex, @Email, @url, @Numeric, @existin, @Validate) that compose with @Bind on a @bindable model and surface through Binding.getValidator(). PR #5055: the Immich-port baseline additions. Map's eleven Java 8 default methods, BiFunction, the missing default-method collection surface, all four primitive atomics, Rest.fetchAsJsonList / fetchAsMapped / fetchAsMappedList, URLImage.RequestDecorator / setDefaultBearerToken, JSONWriter, the Tabs animated indicator and modern arc-spinner pull-to-refresh, MorphTransition.snapshotMode, WebSocket moving into core, the new cn1:generate-openapi-client mojo, and StubGenerator accepting String[].
3 tasks
Collaborator
Author
|
Superseded — consolidating the follow-up posts so this release week ships fewer, broader posts. New merged versions in the follow-up PRs to this one. |
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
@Entity/@Id/@Column), JSON/XML mapping (@Mapped/@JsonProperty/@XmlElement), and component binding (@Bindable/@Bindwith the newBindAttrenum). All sit on top of theAnnotationProcessorSPI from Declarative router + deep links + bytecode annotation framework #5037. NoClass.forName, no field reflection, ParparVM-rename and R8 safe.@Required,@Length,@Regex,@Email,@Url,@Numeric,@ExistIn,@Validate) that compose with@Bindon a@Bindablemodel.Mapdefault methods,BiFunction, the missing default-method collection surface, all four primitive atomics,Rest.fetchAsJsonList/fetchAsMapped/fetchAsMappedList,URLImage.RequestDecorator/setDefaultBearerToken,JSONWriter, the modern animated tab indicator and arc-spinner pull-to-refresh,MorphTransition.snapshotMode,WebSocketin core, the newcn1:generate-openapi-clientmojo, and assorted other paper-cut fixes.File
docs/website/content/blog/pojo-orm-mapping-binding.md— single new file.Sequencing
Branches off
master; intended to publish after the AI post (#5082). Front matter date is2026-06-06.Test plan
docs/websitesucceeds./static/blog/pojo-orm-mapping-binding.jpg.