/** * Creates a {@link MapSqlParameterSource} based on data values from the supplied {@link Pet} * instance. */ private MapSqlParameterSource createPetParameterSource(Pet pet) { return new MapSqlParameterSource() .addValue("id", pet.getId()) .addValue("name", pet.getName()) .addValue("birth_date", pet.getBirthDate().toDate()) .addValue("type_id", pet.getType().getId()) .addValue("owner_id", pet.getOwner().getId()); }
@Test @Transactional public void insertPet() { Owner owner6 = this.clinicService.findOwnerById(6); int found = owner6.getPets().size(); Pet pet = new Pet(); pet.setName("bowser"); Collection<PetType> types = this.clinicService.findPetTypes(); pet.setType(EntityUtils.getById(types, PetType.class, 2)); pet.setBirthDate(new DateTime()); owner6.addPet(pet); assertEquals(found + 1, owner6.getPets().size()); // both storePet and storeOwner are necessary to cover all ORM tools this.clinicService.savePet(pet); this.clinicService.saveOwner(owner6); owner6 = this.clinicService.findOwnerById(6); assertEquals(found + 1, owner6.getPets().size()); assertNotNull("Pet Id should have been generated", pet.getId()); }