簡體   English   中英

@RequiredArgsConstructor 不生成構造函數

[英]@RequiredArgsConstructor does not generate constructor

我有一個小組課程

@Data
@NoArgsConstructor
@RequiredArgsConstructor
@Entity
public class Group {

    @Id
    @GeneratedValue
    private Long id;

    @NotNull
    private String name;
    private String address;
    private String city;
    private String stateOrProvince;
    private String country;
    private String postalCode;
    @ManyToOne(cascade = CascadeType.PERSIST)
    private User user;

    @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
    private Set<Event> event;

}

GroupRepository 接口:

public interface GroupRepository extends JpaRepository<Group, Long> {

    Group findByName(String name);
}

用於加載數據的 Initializer 類:

@Component
public class Initializer implements CommandLineRunner {

    private final GroupRepository repository;

    public Initializer(GroupRepository groupRepository) {
        this.repository = groupRepository;
    }

    @Override
    public void run(String... args) throws Exception {
        Stream.of("Denver JUG", "Utah JUG", "Seattle JUG",
                "Richmond JUG").forEach(name ->
                repository.save(new Group(name)));
    }
}

規格:

  1. IDE:日食
  2. 爪哇:1.8

為什么我在repository.save(new Group(name)));上遇到錯誤repository.save(new Group(name))); 以及如何解決?

錯誤: The constructor Group(name) is undefined.

注意:雖然我使用 lombok 並在 Group 類的 name 字段上添加了@NotNull

我認為 Lombok 不支持 @NotNull,您需要將字段設為 final 或使用 Lombok 的 @NonNull。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM