Java 带有注释的getter上的错误

Java 带有注释的getter上的错误,java,lombok,Java,Lombok,我正在学习一个很好的教程: 我被困在35:45,因为我在Eclipse中遇到了一些错误,“c1.getProducts().add(p);”,stacktrace对我来说真是胡说八道 我的代码如下所示: @SpringBootApplication public class CatalogServiceApplication { public static void main(String[] args) { SpringApplication.run(CatalogS

我正在学习一个很好的教程:
我被困在35:45,因为我在Eclipse中遇到了一些错误,“c1.getProducts().add(p);”,stacktrace对我来说真是胡说八道

我的代码如下所示:

@SpringBootApplication
public class CatalogServiceApplication {

    public static void main(String[] args) {
        SpringApplication.run(CatalogServiceApplication.class, args);
    }

    /* Traitement réalisé au démarrage de l'application
     * On initialise ici une partie des données
     */
    @Bean
    CommandLineRunner start(CategoryRepository categoryRepository, ProductRepository productRepository) {
        return args->{
            categoryRepository.deleteAll();
            Stream.of("C1 Ordinateurs", "C2 Imprimantes").forEach(c->{
                categoryRepository.save(new Category(c.split(" ")[0],c.split(" ")[1], new ArrayList<>()));
            });
            categoryRepository.findAll().forEach(System.out::println);

            productRepository.deleteAll();
            Category c1=categoryRepository.findById("C1").get();
            Stream.of("P1", "P2", "P3","P4").forEach(name->{
                Product p=productRepository.save(new Product(null, name, Math.random()*1000,c1));
                c1.getProducts().add(p);
                categoryRepository.save(c1);
            });

            Category c2=categoryRepository.findById("C2").get();
            Stream.of("P5", "P6", "P7","P8").forEach(name->{
                Product p=productRepository.save(new Product(null, name, Math.random()*1000,c2));
                c1.getProducts().add(p);
                categoryRepository.save(c2);
            });

            productRepository.findAll().forEach(p->{
                System.out.println(p.toString());
            });
        };
    }
}

我认为category类缺少一个@Getter

@Getter
@Document
@Data @AllArgsConstructor @NoArgsConstructor @ToString
public class Category {

    // En principe les id sont des String avec MongoDB
    @Id
    private String id;
    private String name;
    // On suppose que la liste est vide à la création de la Category
    @DBRef
    private Collection<Product> products = new ArrayList<>();
}

@Getter
@文件
@数据@AllArgsConstructor@NoArgsConstructor@ToString
公共类类别{
//这是一个原则性的问题
@身份证
私有字符串id;
私有字符串名称;
//假设你的名字是属于某一范畴的
@DBRef
私人收藏产品=新ArrayList();
}

发布测试!我不明白。关于该错误的任何信息都不表明
类别
类是问题所在
CatalogServiceApplicationTests.contextLoads
是错误源,您尚未显示它。对不起,没有人会看半个小时的视频来找出答案。
产品
是否有对其
类别
的反向引用?然后在
toString()
hashCode()
equals()
中可能有一个循环。
package org.sid;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class CatalogServiceApplicationTests {

    @Test
    public void contextLoads() {
    }

}
@Getter
@Document
@Data @AllArgsConstructor @NoArgsConstructor @ToString
public class Category {

    // En principe les id sont des String avec MongoDB
    @Id
    private String id;
    private String name;
    // On suppose que la liste est vide à la création de la Category
    @DBRef
    private Collection<Product> products = new ArrayList<>();
}