Skip to content

Lombok @Jacksonized compatibility with Jackson 3 #31

Description

@rammrain

Summary

Investigate restoring Lombok @Jacksonized support now that Jackson 3 has moved @JsonDeserialize to tools.jackson.databind.annotation.

Context

During #14 implementation, we discovered that Lombok's @Jacksonized annotation generates @com.fasterxml.jackson.databind.annotation.JsonDeserialize, which is the Jackson 2 package. Jackson 3 moved this to tools.jackson.databind.annotation, so @Jacksonized has no effect.

As a workaround, all DTOs use explicit @JsonCreator constructors. This works but adds boilerplate, especially for classes with many fields (e.g., Address with 15 parameters).

Options

  1. Wait for Lombok update — future Lombok versions may add Jackson 3 support for @Jacksonized
  2. Custom annotation processor — generate the correct @JsonDeserialize annotations
  3. Keep @JsonCreator — accept the boilerplate as the cost of Jackson 3 migration

Action

Monitor Lombok releases for Jackson 3 compatibility. If a newer Lombok version supports it, refactor DTOs to use @Jacksonized and remove explicit constructors where validation is not needed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions