我有以下实体:
@Entity
public class Customer extends BaseEntity {
private String firstname;
private String lastname;
@OneToMany(mappedBy = "customer", cascade = CascadeType.ALL)
private Set
addresses;...
@Entity
public class Address extends BaseEntity {
private String street;
private String houseNumber;
private String zipCode;
private String city;
@ManyToOne
private Customer customer;
...
以下存储库接口类:
@Repository
public interface CustomerRepository extends CrudRepository {
@Query("select c from Customer c join c.addresses a where (a.city = :cityName)")
List findByCity(@Param("cityName")String city);
}
现在,我正在尝试运行以下集成测试,但它失败了,我绝对不知道为什么.不幸的是,我是Spring的初学者,我正在努力学习它;-)
@Test
public void testFindCustomerByCity() {
Customer customer = new Customer("Max", "Tester");
Address address = new Address("Street", "1", "12345", "City");
HashSet
addresses = new HashSet ();addresses.add(address);
customer.setAddresses(addresses);
Customer savedCustomer = customerRepository.save(customer);
Assert.assertTrue(savedCustomer.getId() > 0);
List customerList = customerRepository.findByCity("City");
Assert.assertThat(customerList.size(), is(1));
}
错误消息是:
java.lang.AssertionError:
Expected: is <1>
but: was <0>
为什么结果为空.我的测试设置错了吗?实体关系?
如果你可以帮助我,那没关系.