相关疑难解决方法(0)

Lombok @Builder和JPA Default构造函数

我正在使用项目Lombok和Spring Data JPA.有没有办法将Lombok @Builder与JPA默认构造函数连接?

码:

@Entity 
@Builder
class Person {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
}
Run Code Online (Sandbox Code Playgroud)

据我所知,JPA需要默认构造函数,它被@Builder注释覆盖.那有什么解决方法吗?

这段代码给了我错误: org.hibernate.InstantiationException: No default constructor for entity: : app.domain.model.Person

java spring lombok spring-data-jpa

60
推荐指数
6
解决办法
4万
查看次数

在实体上使用lomboks @Data和@Builder

我使用以下内容:

@Entity
@Data
@Builder
@NoArgsConstructor(force = true)
public class User {
    private String id;
    private String firstName;
    private String lastName;
}
Run Code Online (Sandbox Code Playgroud)

我想要实现的目标:对于JPA用法,我需要一个带有noArgConstructor的POJO,getters/setter和equals/hashCode/toString.

例如创建(例如在测试中)我想使用User.builder().build();

问题:它没有编译,NoArgConstructor与RequiredFieldsConstructor似乎存在问题:

Error:(15, 1) java: constructor User in class x.y.z.User cannot be applied to given types;
required: no arguments
found:    java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String
reason: actual and formal argument lists differ in length
Run Code Online (Sandbox Code Playgroud)

更新:当我尝试通过new构建器()工作创建新实体时发生错误.

我错过了什么?是不是可以同时使用@ Data,@ Entity和@Builder?

java lombok

8
推荐指数
3
解决办法
8649
查看次数

标签 统计

java ×2

lombok ×2

spring ×1

spring-data-jpa ×1