Skip to content

Blog: POJO ORM, mapping, binding, and the Immich-port baseline#5083

Closed
shai-almog wants to merge 1 commit into
masterfrom
blog-pojo-orm-mapping-binding
Closed

Blog: POJO ORM, mapping, binding, and the Immich-port baseline#5083
shai-almog wants to merge 1 commit into
masterfrom
blog-pojo-orm-mapping-binding

Conversation

@shai-almog
Copy link
Copy Markdown
Collaborator

Summary

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 is 2026-06-06.

Test plan

  • Hugo build of docs/website succeeds.
  • Post renders correctly on the blog index and as a standalone page.
  • Header image is generated at /static/blog/pojo-orm-mapping-binding.jpg.

…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[].
@shai-almog
Copy link
Copy Markdown
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.

@shai-almog shai-almog closed this May 29, 2026
@shai-almog shai-almog deleted the blog-pojo-orm-mapping-binding branch May 29, 2026 08:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant