我在以下实体类之一中使用Lombok:

@Entity
@Table(name = "student_details")
@Data
@Builder
public class Student {
    @Id
    private int studentId;
    private String studentName;
    private String courseEnrolled;
    private String rollNo;

当我运行此命令时,我收到以下错误:

java: constructor Student in class com.example.student.entity.Student cannot be applied to given types;
  required: no arguments
  found:    int,java.lang.String,java.lang.String,java.lang.String

我试图提供默认构造函数@NoArgsConstructor,但它抛出编译器错误,指出没有定义任何参数的构造函数.

我不能理解为什么会发生这种情况.有谁可以指导为什么会发生这种情况?

推荐答案

要解决您的问题,您需要将@NoArgsConstructor@AllArgsConstructor与@Builder注释一起使用,因为这需要全参数构造函数才能正常工作:

@Entity
@Table(name = "student_details")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Student {

Java相关问答推荐

Jooq隐式地将bigint转换为数字,并且索引不起作用

Java在模块化jar文件中找不到类,但是javap可以

如何判断一个矩阵是否为有框矩阵?

为什么JAVA&S清洁器使用链表而不是并发HashSet?

这是什么Java构造`(InputStream Is)->;()->;{}`

Java中的死锁及其重入锁和锁

在AVL树的Remove方法中使用NoSuchElementException时遇到问题

查找剩余的枚举

如何在Java记录中设置BigDecimal类型属性的精度?

由于在生成器模式中使用泛型,lambda表达式中的返回类型错误

将stringBuilder + forloop转换为stream + map

找出承载Cargo 的最小成本

如何使用Java对随机生成的字母数字优惠券代码进行过期设置

TinyDB问题,无法解析符号';上下文&

根据应用程序 Select 的语言检索数据

Eureka客户端无法使用用户/通行证注册到Eureka服务器

message.acknowledge()没有';在使用Spring Boot在ActiveMQ中读取消息后,t将消息出列

为什么Java编译器为没有参数的方法(getter方法)创建桥接方法

窗口启动后不久,从java.awt.Graphics disapear创建的矩形

移动二维数组的行