Java 名为'的creatin bean错误;jpaMappingContext';和';MyRepository的名称';
我试图在Spring Boot应用程序中从JpaRepository测试我的存储库,但出现以下错误: java.lang.IllegalStateException:未能加载ApplicationContext (例外列表要长得多,但我认为这是唯一有趣的部分) 下面是我的存储库测试的代码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
@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)