Skip to content

Add Ujorm to ORM - #1309

Open
pponec wants to merge 1 commit into
akullpp:mainfrom
pponec:add-ujorm
Open

Add Ujorm to ORM#1309
pponec wants to merge 1 commit into
akullpp:mainfrom
pponec:add-ujorm

Conversation

@pponec

@pponec pponec commented Aug 21, 2026

Copy link
Copy Markdown

Adds Ujorm to the ORM section.

Ujorm is a JDBC mapping library for Java 17+. It maps rows to mutable JavaBeans or immutable
records through typed keys generated at compile time by an annotation processor, and offers a
query DSL in which the compiler checks both the referenced columns and the type of every value
placed into a condition. Native SQL with named parameter binding is available for cases the DSL
does not cover.

Why it is distinct from existing entries:

  • Its scope is restricted on purpose: no lazy loading, no 1:M collection mapping, no SQL dialect
    abstraction and no transaction management. The README states these as design rules rather than
    gaps to be closed later, which is what sets the library apart from the full ORMs in this section.
  • vs Doma: Doma also uses annotation processing for compile-time verification, but targets
    SQL templates and DAO interfaces. Ujorm generates typed key objects that are used directly as
    a query DSL and as the mapping metadata, and it performs no code generation for DAOs.
  • vs Ebean, Hibernate, EclipseLink: those manage an entity lifecycle and a persistence
    context. Ujorm treats entities as stateless data carriers and leaves transactions to the caller's
    java.sql.Connection.
  • It has no third-party runtime dependencies. In the published POM of org.ujorm:ujo-orm:3.0.5,
    jakarta.persistence-api and the annotation processor are provided and
    org.jetbrains:annotations is optional; the runtime artifacts total roughly 0.27 MB.

Details:

Placement: ORM ("APIs that handle the persistence of objects"), appended at the end of the
section, after SimpleFlatMapper, in ascending alphabetical order.

Disclosure: I am the author of the project.

Suggestion type

  • Project
  • Resource

Checklist

  • I searched the list and existing issues for duplicates.
  • I changed README_SOURCE.md, not the generated README.md.
  • This pull request contains one suggestion.
  • The suggestion is relevant to Java or the JVM and fits its chosen category.
  • I used the canonical project or resource link.
  • The suggestion is current and maintained.
  • The concise, neutral description explains its distinguishing value and ends with punctuation.
  • Licensing is clear and any restrictive terms are disclosed where applicable.

Summary by cubic

Adds Ujorm to the ORM section to represent a lightweight JDBC mapping library for Java 17+. Unlike full ORMs, it uses compile-time typed keys/DSL and intentionally omits lazy loading, 1:M collections, dialect abstraction, and transaction management; it has no third-party runtime dependencies.

  • Placement: ORM section after SimpleFlatMapper in ascending alphabetical order; updates README_SOURCE.md only.
  • Content checks: neutral, concise description with repo link; Apache-2.0; Java 17+; Maven org.ujorm:ujo-orm.

Written for commit f8e6eee. Summary will update on new commits.

Review in cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

Re-trigger cubic

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