Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 名为'的creatin bean错误;jpaMappingContext';和';MyRepository的名称';_Java_Spring_Spring Boot Test - Fatal编程技术网

Java 名为'的creatin bean错误;jpaMappingContext';和';MyRepository的名称';

Java 名为'的creatin bean错误;jpaMappingContext';和';MyRepository的名称';,java,spring,spring-boot-test,Java,Spring,Spring Boot Test,我试图在Spring Boot应用程序中从JpaRepository测试我的存储库,但出现以下错误: java.lang.IllegalStateException:未能加载ApplicationContext (例外列表要长得多,但我认为这是唯一有趣的部分) 下面是我的存储库测试的代码 @Transactional @SpringBootTest public class CarDealerRepositoryTest { @Autowired private CarDeal

我试图在Spring Boot应用程序中从JpaRepository测试我的存储库,但出现以下错误:

java.lang.IllegalStateException:未能加载ApplicationContext

(例外列表要长得多,但我认为这是唯一有趣的部分)

下面是我的存储库测试的代码

@Transactional
@SpringBootTest
public class CarDealerRepositoryTest {

    @Autowired
    private CarDealerRepository carDealerRepository;

    private CarDealer carDealer;
    private Car car;

    @BeforeEach
    void initialize(){
        carDealer = CarDealer.builder()
                .cars(new ArrayList<Car>())
                .address("schibinabi")
                .sales(10000f)
                .build();


        car = Car.builder()
                .brand("McLaren")
                .maxSpeed(300)
                .price(10500f)
                .build();

        carDealer.addCar(car);
    }

    @Test
    void verifyFindAll(){
        Iterable<CarDealer> carDealerList = carDealerRepository.findAll();

        assertThat(carDealerList).isNotNull();
        assertThat(carDealerList).isEmpty();
    }
}
汽车:

@Entity
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor(access = AccessLevel.PRIVATE)
@Builder
@Getter
@Setter

public class Car extends AbstractPersistable<Long> {

    private String brand;
    private Float price;
    private Integer maxSpeed;

    @ElementCollection
    private List<String> versions;

    @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
    @JsonIgnore
    private CarDealer carDealer;

    public void setCarDealer(CarDealer dealer) {
        this.carDealer = dealer;
        if (!dealer.containsCar(this)) {
            dealer.addCar(this);
        }
    }
}
@实体
@NoArgsConstructor(access=AccessLevel.PROTECTED)
@AllArgsConstructor(access=AccessLevel.PRIVATE)
@建筑商
@吸气剂
@塞特
公共类Car扩展了可持久化{
自有品牌;
私人浮动价格;
私有整数最大速度;
@元素集合
私人名单版本;
@manytone(cascade=CascadeType.PERSIST,fetch=FetchType.LAZY)
@杰索尼奥雷
私人卡迪勒卡迪勒;
公共无效设置卡迪勒(卡迪勒经销商){
this.carDealer=经销商;
如果(!dealer.containsCar(此)){
dealer.addCar(本);
}
}
}
这也是存储库界面:

@Repository
public interface CarDealerRepository extends JpaRepository<CarDealer, Long> {
}
@存储库
公共接口卡存储库扩展了JPA存储库{
}

您应该尝试使用与车内物业相同的外壳

因此,它应该是:

 @OneToMany(mappedBy = "carDealer", cascade = CascadeType.PERSIST)
而不是:

 @OneToMany(mappedBy = "cardealer", cascade = CascadeType.PERSIST)

尝试更改映射注释,如@OneToMany(mappedBy=“carDealer”)(而不是carDealer)
 @OneToMany(mappedBy = "carDealer", cascade = CascadeType.PERSIST)
 @OneToMany(mappedBy = "cardealer", cascade = CascadeType.PERSIST)