This is not possible in Lombok. Although it would be a really nice feature, it requires resolution to find the constructors of the super class. The super class is only known by name the moment Lombok gets invoked. Using the import statements and the classpath to find the actual class is not trivial. And during compilation you cannot just use reflection to get a list of constructors.

It is not entirely impossible but the results using resolution in val and @ExtensionMethod have taught us that is it hard and error-prone.

Disclosure: I am a Lombok developer.

Answer from Roel Spilker on Stack Overflow
🌐
Stack Overflow
stackoverflow.com › questions › 77688960 › lombok-does-not-include-super-in-allargsconstructor-inheritance-from-abstract
java - Lombok does not include super in AllArgsConstructor - Inheritance from abstract and generic class - Stack Overflow
@Entity @Table(name = "employee") @EqualsAndHashCode(callSuper = true) @Getter @Setter @AllArgsConstructor @NoArgsConstructor public class Employee extends GenericEntity<Employee> implements Serializable { @Column(name = "first_name", nullable = false) private String firstName; @Column(name = "last_name", nullable = false) private String lastName; // Rest of attributes which map my columns in MySQL table employee (see below) // I want lombok to do this: public Employee(Long empId, String firstName, String lastName){ super(empId); // I need to rename "id" to "empId" and map it with PK in table
🌐
Baeldung
baeldung.com › home › java › lombok @builder with inheritance
Lombok @Builder with Inheritance | Baeldung
May 11, 2024 - This is due to the fact that Lombok doesn’t take into account the fields of the superclasses but only the ones from the current class. Luckily for us, there’s a simple workaround. We can generate (with our IDE or even manually) a field-based constructor. This also includes the fields from the superclasses. We annotate it with @Builder, instead of the class: @Getter @AllArgsConstructor public class Parent { private final String parentName; private final int parentAge; } @Getter public class Child extends Parent { private final String childName; private final int childAge; @Builder public Child(String parentName, int parentAge, String childName, int childAge) { super(parentName, parentAge); this.childName = childName; this.childAge = childAge; } }
Discussions

AllArgsConstructor does not utilize superclass fields
If I have a class with AllArgsConstructor and a superclass with AllArgsConstructor. The generated code only populates the current class fields and does not call super class AllArgsConstructor More on github.com
🌐 github.com
November 10, 2016
Making lombak @data work with inheritance
Please ensure that: Your code is properly formatted as code block - see the sidebar (About on mobile) for instructions You include any and all error messages in full You ask clear questions You demonstrate effort in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions. Trying to solve problems on your own is a very important skill. Also, see Learn to help yourself in the sidebar If any of the above points is not met, your post can and will be removed without further warning. Code is to be formatted as code block (old reddit: empty line before the code, each code line indented by 4 spaces, new reddit: https://i.imgur.com/EJ7tqek.png ) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc. Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit. Code blocks look like this: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above. If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures. To potential helpers Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice. I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns. More on reddit.com
🌐 r/javahelp
5
0
April 24, 2024
@InheritConstructors to inherit constructors (especially useful for Exception classes)
There was an error while loading. Please reload this page More on github.com
🌐 github.com
44
July 14, 2015
`[AllArgsConstructor]` with inheritance
Is your feature request related to a problem? Please describe. Hi, I was trying to add the [AllArgsConstructor] to a class inheriting another, and the constructor generated only uses the current cl... More on github.com
🌐 github.com
2
January 27, 2025
🌐
Project Lombok
projectlombok.org › features › constructor
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor
Unlike most other lombok annotations, the existence of an explicit constructor does not stop these annotations from generating their own constructor. This means you can write your own specialized constructor, and let lombok generate the boilerplate ones as well.
🌐
Java By Examples
javabyexamples.com › delombok-allargsconstructor-noargsconstructor-and-requiredargsconstructor
Lombok @AllArgsConstructor, @NoArgsConstructor and ...
When we use these annotations, Lombok generates the constructors automatically for us. @AllArgsConstructor generates a constructor requiring an argument for every field in the annotated class.
🌐
GitHub
github.com › projectlombok › lombok › issues › 1229
AllArgsConstructor does not utilize superclass fields · Issue #1229 · projectlombok/lombok
November 10, 2016 - If I have a class with AllArgsConstructor and a superclass with AllArgsConstructor. The generated code only populates the current class fields and does not call super class AllArgsConstructor ... Definitely a problem in the current form - if I have inheritance all the super-class fields are effectively hidden.
🌐
Google Groups
groups.google.com › g › project-lombok › c › vV-LpfHZNp4
Use of @Inherited for class-level annotations?
We can't actually tell that happened, lombok annotations are source retention only, and the constructors are by design indistinguishable from a handwritten one. So, should AllArgsConstructor take the some-args constructor because its the constructor of the superclass with the most parameters on it, and "AllArgsConstructor" more or less implies that it should go for the most parameters?
🌐
Codemia
codemia.io › home › knowledge hub › how to call super constructor in lombok
how to Call super constructor in Lombok | Codemia
July 30, 2025 - However, since Employee also inherits fields from Person, you'll need to explicitly call the superclass constructor within the generated or manually defined constructor in Employee.
Find elsewhere
🌐
Google Groups
groups.google.com › g › project-lombok › c › qCvHmKpvuic
RequiredArgsConstructor to include inherited required fields
It is trivial in the sense that they always do the same thing: call super() for all inherited variables, and initialize other variables the usual way, duplicating the work of @RequiredArgsConstructor.
🌐
Medium
medium.com › javarevisited › inheritance-with-lombok-annotations-in-java-springboot-f32a2d873fff
Inheritance with Lombok annotations – Java & SpringBoot | by Sergio Sánchez | Javarevisited | Medium
August 25, 2024 - Unfortunately, Lombok doesn’t support my scenario, so here are my learnings and finding a solution for that.. If you find this article useful, follow me for more! This simple action helps me a lot. ... Inheritance is a mechanism in Java that allows a class to inherit properties and methods from another class.
🌐
Reinhard
blog.reinhard.codes › 2015 › 09 › 16 › lomboks-builder-annotation-and-inheritance
Lombok’s @Builder annotation and inheritance | reinhard.codes
September 16, 2015 - One thing has bugged me though during that time: Lombok’s @Builder annotation won’t generate code for inherited fields. It turns out, there is a solution to this problem. We have been using @Builder on the class itself, but you can also put it on a class’s constructor or on a static method. In that case, Lombok will create a setter method on the builder class for every parameter of the constructor/method. That means you can create a custom constructor with parameters for all the fields of the class including its superclass. @AllArgsConstructor public class Parent { private String a; } public class Child extends Parent { private String b; @Builder private Child(String a, String b){ super(a); this.b = b; } }
🌐
Medium
manishkrb.medium.com › why-lomboks-builder-does-not-support-inheritance-13e3817c35aa
🧩 Why? Lombok’s @Builder does not support inheritance. | by MANISHA BHARDWAJ | Medium
May 21, 2025 - Quick Fix: Use @SuperBuilder from Lombok when parent and child both need builder support. @SuperBuilder @Data @NoArgsConstructor @AllArgsConstructor @JsonIgnoreProperties(ignoreUnknown = true) @JsonInclude(JsonInclude.Include.NON_NULL) public class A{ private String id; private String name; private String secondaryName; private boolean isRequired; }
🌐
Reddit
reddit.com › r/javahelp › making lombak @data work with inheritance
r/javahelp on Reddit: Making lombak @data work with inheritance
April 24, 2024 -

Hi,
I am using hibernate with my spring boot application. For columns like updatedAt, createdAt etc, I used an audit class, and then inherited the same class to all my entities.
Now I am trying to access updatedAt as entity.getUpdatedAt() but turns out it doesnt work that way!

Both the parent and child are annotated with "@data", "@AllArgsConstructor" and the entity (child) is annotated with "@EqualsAndHashCode(callSuper=true)".
(I was trying out any solution I could think of or see in stackoverflow - nothingworked.obvious).

How do I make this work? needing inheritance to be supported sounds like such a "everyone should have done it " case but I cant find a working solution! I also read in one answer that you need to annotate the annotation ("@data") so this case is not possible (really?)

Top answer
1 of 3
1
Please ensure that: Your code is properly formatted as code block - see the sidebar (About on mobile) for instructions You include any and all error messages in full You ask clear questions You demonstrate effort in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions. Trying to solve problems on your own is a very important skill. Also, see Learn to help yourself in the sidebar If any of the above points is not met, your post can and will be removed without further warning. Code is to be formatted as code block (old reddit: empty line before the code, each code line indented by 4 spaces, new reddit: https://i.imgur.com/EJ7tqek.png ) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc. Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit. Code blocks look like this: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above. If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures. To potential helpers Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice. I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
2 of 3
1
Inheritance works fine for me. Parent and child need both @Data annotation. Then everything works as expected. An instance of child provides all Getter/Setter of parent. Try another Lombok version or let us see some code.
🌐
GitHub
github.com › projectlombok › lombok › issues › 375
@InheritConstructors to inherit constructors (especially useful for Exception classes) · Issue #375 · projectlombok/lombok
July 14, 2015 - projectlombok / lombok Public · There was an error while loading. Please reload this page. Notifications · You must be signed in to change notification settings · Fork 2.5k · Star 13.5k · New issueCopy link · New issueCopy link · Open · Open · @InheritConstructors to inherit constructors (especially useful for Exception classes)#375 ·
Author: projectlombok
🌐
GitHub
github.com › CollinAlpert › Lombok.NET › issues › 60
`[AllArgsConstructor]` with inheritance · Issue #60 · CollinAlpert/Lombok.NET
January 27, 2025 - Is your feature request related to a problem? Please describe. Hi, I was trying to add the [AllArgsConstructor] to a class inheriting another, and the constructor generated only uses the current class' properties. Is this expected ? Desc...
Author: CollinAlpert
🌐
Medium
medium.com › @drivaspedro › java-lombok-builder-annotation-with-inheritance-6541087040f2
Java Lombok Builder Annotation With Inheritance | by Drivaspedro | Medium
December 23, 2022 - This feature was introduced on the Lombok 1.18 release. If you need to use a previous release, you can change the default builder method name on the child class, and use the annotation on its constructor. @Builder @AllArgsConstructor public class Person { private String name; } public class Developer extends Person { private String language; @Builder(builderMethodName = "developerBuilder") public Developer(String name, String language) { super(name); this.language = language; } } // Then instantiate the class like this: Developer developer = Developer .developerBuilder() .name("Drivas") .language("java") .build();
🌐
GitHub
github.com › projectlombok › lombok › issues › 2646
[FEATURE] SuperArgsConstructor · Issue #2646 · projectlombok/lombok
November 15, 2020 - Describe the feature An annotation generating a constructor like @AllArgsConstructor or @NoArgsConstructor matching super in case of a single constructor in super class.