diff --git a/.springBeans b/.springBeans
index 34b281cf1ff6713061540f5b806f9b4ceb7ee35e..2edd02cf1a11dd62a7734cc55b12f235a2cc7260 100644
--- a/.springBeans
+++ b/.springBeans
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <beansProjectDescription>
 	<version>1</version>
-	<pluginVersion><![CDATA[2.3.0.200912170948-RELEASE]]></pluginVersion>
+	<pluginVersion><![CDATA[3.2.0.201211290605-M1]]></pluginVersion>
 	<configSuffixes>
 		<configSuffix><![CDATA[xml]]></configSuffix>
 	</configSuffixes>
diff --git a/src/main/java/org/springframework/samples/petclinic/BaseEntity.java b/src/main/java/org/springframework/samples/petclinic/BaseEntity.java
index bb68af4fc01f870b25db873e05091890b96fca29..8913ab009621380bf0605d35f8b742899d1a6692 100644
--- a/src/main/java/org/springframework/samples/petclinic/BaseEntity.java
+++ b/src/main/java/org/springframework/samples/petclinic/BaseEntity.java
@@ -1,5 +1,8 @@
 package org.springframework.samples.petclinic;
 
+import javax.persistence.Id;
+import javax.persistence.MappedSuperclass;
+
 /**
  * Simple JavaBean domain object with an id property.
  * Used as a base class for objects needing this property.
@@ -7,9 +10,10 @@ package org.springframework.samples.petclinic;
  * @author Ken Krebs
  * @author Juergen Hoeller
  */
+@MappedSuperclass
 public class BaseEntity {
-
-	private Integer id;
+	@Id
+	protected Integer id;
 	
 
 	public void setId(Integer id) {
diff --git a/src/main/java/org/springframework/samples/petclinic/Clinic.java b/src/main/java/org/springframework/samples/petclinic/Clinic.java
index e48e8507b352c7bc757d1853217bd947ea5e12fb..9eca087e835b7889778cd52295d44945af2e52a3 100644
--- a/src/main/java/org/springframework/samples/petclinic/Clinic.java
+++ b/src/main/java/org/springframework/samples/petclinic/Clinic.java
@@ -43,7 +43,7 @@ public interface Clinic {
 	 * @return the <code>Owner</code> if found
 	 * @throws org.springframework.dao.DataRetrievalFailureException if not found
 	 */
-	Owner loadOwner(int id) throws DataAccessException;
+	Owner findOwner(int id) throws DataAccessException;
 
 	/**
 	 * Retrieve a <code>Pet</code> from the data store by id.
@@ -51,7 +51,7 @@ public interface Clinic {
 	 * @return the <code>Pet</code> if found
 	 * @throws org.springframework.dao.DataRetrievalFailureException if not found
 	 */
-	Pet loadPet(int id) throws DataAccessException;
+	Pet findPet(int id) throws DataAccessException;
 
 	/**
 	 * Save an <code>Owner</code> to the data store, either inserting or updating it.
diff --git a/src/main/java/org/springframework/samples/petclinic/NamedEntity.java b/src/main/java/org/springframework/samples/petclinic/NamedEntity.java
index 40c5931d86d1ac03f157ced1e63a189274820567..f77348e241132134098394d8260879cbba741996 100644
--- a/src/main/java/org/springframework/samples/petclinic/NamedEntity.java
+++ b/src/main/java/org/springframework/samples/petclinic/NamedEntity.java
@@ -1,5 +1,8 @@
 package org.springframework.samples.petclinic;
 
+import javax.persistence.Column;
+import javax.persistence.MappedSuperclass;
+
 /**
  * Simple JavaBean domain object adds a name property to <code>BaseEntity</code>.
  * Used as a base class for objects needing these properties.
@@ -7,8 +10,10 @@ package org.springframework.samples.petclinic;
  * @author Ken Krebs
  * @author Juergen Hoeller
  */
+@MappedSuperclass
 public class NamedEntity extends BaseEntity {
 
+	@Column(name="name")
 	private String name;
 	
 
diff --git a/src/main/java/org/springframework/samples/petclinic/Owner.java b/src/main/java/org/springframework/samples/petclinic/Owner.java
index 75ea3bc064c570ff96f17b7fc8de77bfd64d3342..13639f9d2bd35d7df26aa815d10bec7080344d06 100644
--- a/src/main/java/org/springframework/samples/petclinic/Owner.java
+++ b/src/main/java/org/springframework/samples/petclinic/Owner.java
@@ -6,6 +6,12 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+
 import org.springframework.beans.support.MutableSortDefinition;
 import org.springframework.beans.support.PropertyComparator;
 import org.springframework.core.style.ToStringCreator;
@@ -17,14 +23,18 @@ import org.springframework.core.style.ToStringCreator;
  * @author Juergen Hoeller
  * @author Sam Brannen
  */
+@Entity @Table(name="owners")
 public class Owner extends Person {
-
+	@Column(name="address")
 	private String address;
-
+	
+	@Column(name="city")
 	private String city;
 
+	@Column(name="telephone")
 	private String telephone;
 
+	@OneToMany(cascade=CascadeType.ALL, mappedBy="owner")
 	private Set<Pet> pets;
 
 
diff --git a/src/main/java/org/springframework/samples/petclinic/Person.java b/src/main/java/org/springframework/samples/petclinic/Person.java
index da7974a7de77a6e64815952f8466c6cbf51bcb1e..8bfa1b502ec03a5e14785dbb8e0af19067b592bf 100644
--- a/src/main/java/org/springframework/samples/petclinic/Person.java
+++ b/src/main/java/org/springframework/samples/petclinic/Person.java
@@ -1,15 +1,21 @@
 package org.springframework.samples.petclinic;
 
+import javax.persistence.Column;
+import javax.persistence.MappedSuperclass;
+
 /**
  * Simple JavaBean domain object representing an person.
  *
  * @author Ken Krebs
  */
+@MappedSuperclass
 public class Person extends BaseEntity {
+	
+	@Column(name="first_name")
+	protected String firstName;
 
-	private String firstName;
-
-	private String lastName;
+	@Column(name="last_name")
+	protected String lastName;
 
 	public String getFirstName() {
 		return this.firstName;
diff --git a/src/main/java/org/springframework/samples/petclinic/Pet.java b/src/main/java/org/springframework/samples/petclinic/Pet.java
index f5294b5ca9f3385ae9f4aea883abb48dd2e7402a..6b3915891aea6287a44e314c94cd3f3f7315853a 100644
--- a/src/main/java/org/springframework/samples/petclinic/Pet.java
+++ b/src/main/java/org/springframework/samples/petclinic/Pet.java
@@ -7,6 +7,14 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+
 import org.springframework.beans.support.MutableSortDefinition;
 import org.springframework.beans.support.PropertyComparator;
 
@@ -17,14 +25,21 @@ import org.springframework.beans.support.PropertyComparator;
  * @author Juergen Hoeller
  * @author Sam Brannen
  */
+@Entity @Table(name="pets")
 public class Pet extends NamedEntity {
 
+	@Column(name="birth_date")
 	private Date birthDate;
 
+	@ManyToOne
+    @JoinColumn(name = "type_id")
 	private PetType type;
-
+	
+	@ManyToOne
+    @JoinColumn(name = "owner_id")
 	private Owner owner;
-
+	
+	@OneToMany(cascade=CascadeType.ALL, mappedBy="pet")
 	private Set<Visit> visits;
 
 
diff --git a/src/main/java/org/springframework/samples/petclinic/PetType.java b/src/main/java/org/springframework/samples/petclinic/PetType.java
index aaadc5c44d099c5d8c3726bbe411a2b335aab2bc..4e4cebc4beab808f4878556aeafe33e574bf2742 100644
--- a/src/main/java/org/springframework/samples/petclinic/PetType.java
+++ b/src/main/java/org/springframework/samples/petclinic/PetType.java
@@ -1,8 +1,12 @@
 package org.springframework.samples.petclinic;
 
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
 /**
  * @author Juergen Hoeller
  */
+@Entity @Table(name="types")
 public class PetType extends NamedEntity {
 
 }
diff --git a/src/main/java/org/springframework/samples/petclinic/Specialty.java b/src/main/java/org/springframework/samples/petclinic/Specialty.java
index d19ccaba96e42d5f15360f8d2cb4984373c717a3..08a6e85c7c717886ccfbda19e10987d7f77254fd 100644
--- a/src/main/java/org/springframework/samples/petclinic/Specialty.java
+++ b/src/main/java/org/springframework/samples/petclinic/Specialty.java
@@ -1,10 +1,14 @@
 package org.springframework.samples.petclinic;
 
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
 /**
  * Models a {@link Vet Vet's} specialty (for example, dentistry).
  * 
  * @author Juergen Hoeller
  */
+@Entity @Table(name="specialties")
 public class Specialty extends NamedEntity {
 
 }
diff --git a/src/main/java/org/springframework/samples/petclinic/Vet.java b/src/main/java/org/springframework/samples/petclinic/Vet.java
index 9c7c8da0b1c32e46cd84a7a8311ba457148dcd89..e4250ae9ce76e3a4aab3a5a01c0750b60fab1c52 100644
--- a/src/main/java/org/springframework/samples/petclinic/Vet.java
+++ b/src/main/java/org/springframework/samples/petclinic/Vet.java
@@ -5,6 +5,10 @@ import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+
+import javax.persistence.Entity;
+import javax.persistence.ManyToMany;
+import javax.persistence.Table;
 import javax.xml.bind.annotation.XmlElement;
 
 import org.springframework.beans.support.MutableSortDefinition;
@@ -18,8 +22,10 @@ import org.springframework.beans.support.PropertyComparator;
  * @author Sam Brannen
  * @author Arjen Poutsma
  */
+@Entity @Table(name="vets")
 public class Vet extends Person {
 
+	@ManyToMany
 	private Set<Specialty> specialties;
 
 
diff --git a/src/main/java/org/springframework/samples/petclinic/Visit.java b/src/main/java/org/springframework/samples/petclinic/Visit.java
index c42bdcee5e5d3c9bdbdf4c140bf9b45d4683ad1f..7d7502d1a369e0f50bc84c14725efb421c3ba9e0 100644
--- a/src/main/java/org/springframework/samples/petclinic/Visit.java
+++ b/src/main/java/org/springframework/samples/petclinic/Visit.java
@@ -2,20 +2,31 @@ package org.springframework.samples.petclinic;
 
 import java.util.Date;
 
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
 /**
  * Simple JavaBean domain object representing a visit.
  *
  * @author Ken Krebs
  */
+@Entity @Table(name="visits")
 public class Visit extends BaseEntity {
 
 	/** Holds value of property date. */
+	@Column(name="visit_date")
 	private Date date;
 
 	/** Holds value of property description. */
+	@Column(name="description")
 	private String description;
 
 	/** Holds value of property pet. */
+	@ManyToOne
+    @JoinColumn(name = "pet_id")
 	private Pet pet;
 
 
diff --git a/src/main/java/org/springframework/samples/petclinic/hibernate/HibernateClinic.java b/src/main/java/org/springframework/samples/petclinic/hibernate/HibernateClinic.java
deleted file mode 100644
index 4116385628173b1e9e167390b87460cfea492981..0000000000000000000000000000000000000000
--- a/src/main/java/org/springframework/samples/petclinic/hibernate/HibernateClinic.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.springframework.samples.petclinic.hibernate;
-
-import java.util.Collection;
-
-import org.hibernate.SessionFactory;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.dao.DataAccessException;
-import org.springframework.samples.petclinic.Clinic;
-import org.springframework.samples.petclinic.Owner;
-import org.springframework.samples.petclinic.Pet;
-import org.springframework.samples.petclinic.PetType;
-import org.springframework.samples.petclinic.Vet;
-import org.springframework.samples.petclinic.Visit;
-import org.springframework.stereotype.Repository;
-import org.springframework.transaction.annotation.Transactional;
-
-/**
- * Hibernate implementation of the Clinic interface.
- *
- * <p>The mappings are defined in "petclinic.hbm.xml", located in the root of the
- * class path.
- *
- * <p>Note that transactions are declared with annotations and that some methods
- * contain "readOnly = true" which is an optimization that is particularly
- * valuable when using Hibernate (to suppress unnecessary flush attempts for
- * read-only operations).
- *
- * @author Juergen Hoeller
- * @author Sam Brannen
- * @author Mark Fisher
- * @since 19.10.2003
- */
-@Repository
-@Transactional
-public class HibernateClinic implements Clinic {
-
-	private SessionFactory sessionFactory;
-	
-	@Autowired
-	public HibernateClinic(SessionFactory sessionFactory) {
-		this.sessionFactory = sessionFactory;
-	}
-
-	@Transactional(readOnly = true)
-	@SuppressWarnings("unchecked")
-	public Collection<Vet> getVets() {
-		return sessionFactory.getCurrentSession().createQuery("from Vet vet order by vet.lastName, vet.firstName").list();
-	}
-
-	@Transactional(readOnly = true)
-	@SuppressWarnings("unchecked")
-	public Collection<PetType> getPetTypes() {
-		return sessionFactory.getCurrentSession().createQuery("from PetType type order by type.name").list();
-	}
-
-	@Transactional(readOnly = true)
-	@SuppressWarnings("unchecked")
-	public Collection<Owner> findOwners(String lastName) {
-		return sessionFactory.getCurrentSession().createQuery("from Owner owner where owner.lastName like :lastName")
-				.setString("lastName", lastName + "%").list();
-	}
-
-	@Transactional(readOnly = true)
-	public Owner loadOwner(int id) {
-		return (Owner) sessionFactory.getCurrentSession().load(Owner.class, id);
-	}
-
-	@Transactional(readOnly = true)
-	public Pet loadPet(int id) {
-		return (Pet) sessionFactory.getCurrentSession().load(Pet.class, id);
-	}
-
-	public void storeOwner(Owner owner) {
-		// Note: Hibernate3's merge operation does not reassociate the object
-		// with the current Hibernate Session. Instead, it will always copy the
-		// state over to a registered representation of the entity. In case of a
-		// new entity, it will register a copy as well, but will not update the
-		// id of the passed-in object. To still update the ids of the original
-		// objects too, we need to register Spring's
-		// IdTransferringMergeEventListener on our SessionFactory.
-		sessionFactory.getCurrentSession().merge(owner);
-	}
-
-	public void storePet(Pet pet) {
-		sessionFactory.getCurrentSession().merge(pet);
-	}
-
-	public void storeVisit(Visit visit) {
-		sessionFactory.getCurrentSession().merge(visit);
-	}
-
-	public void deletePet(int id) throws DataAccessException {
-		Pet pet = loadPet(id);
-		sessionFactory.getCurrentSession().delete(pet);
-	}
-
-}
diff --git a/src/main/java/org/springframework/samples/petclinic/hibernate/package-info.java b/src/main/java/org/springframework/samples/petclinic/hibernate/package-info.java
deleted file mode 100644
index e39ebac4735c0d4e82b4d14074b2b19fe9c551fd..0000000000000000000000000000000000000000
--- a/src/main/java/org/springframework/samples/petclinic/hibernate/package-info.java
+++ /dev/null
@@ -1,9 +0,0 @@
-
-/**
- *
- * The classes in this package represent the Hibernate implementation
- * of PetClinic's persistence layer.
- *
- */
-package org.springframework.samples.petclinic.hibernate;
-
diff --git a/src/main/java/org/springframework/samples/petclinic/jdbc/SimpleJdbcClinic.java b/src/main/java/org/springframework/samples/petclinic/jdbc/SimpleJdbcClinic.java
index cc26338759cd22f4670fd161363530c81dbef338..7baef0971d33a3a977995ebf7e1e963457959f48 100644
--- a/src/main/java/org/springframework/samples/petclinic/jdbc/SimpleJdbcClinic.java
+++ b/src/main/java/org/springframework/samples/petclinic/jdbc/SimpleJdbcClinic.java
@@ -163,7 +163,7 @@ public class SimpleJdbcClinic implements Clinic, SimpleJdbcClinicMBean {
 	 * owner, if not already loaded.
 	 */
 	@Transactional(readOnly = true)
-	public Owner loadOwner(int id) throws DataAccessException {
+	public Owner findOwner(int id) throws DataAccessException {
 		Owner owner;
 		try {
 			owner = this.simpleJdbcTemplate.queryForObject(
@@ -179,7 +179,7 @@ public class SimpleJdbcClinic implements Clinic, SimpleJdbcClinicMBean {
 	}
 
 	@Transactional(readOnly = true)
-	public Pet loadPet(int id) throws DataAccessException {
+	public Pet findPet(int id) throws DataAccessException {
 		JdbcPet pet;
 		try {
 			pet = this.simpleJdbcTemplate.queryForObject(
@@ -190,7 +190,7 @@ public class SimpleJdbcClinic implements Clinic, SimpleJdbcClinicMBean {
 		catch (EmptyResultDataAccessException ex) {
 			throw new ObjectRetrievalFailureException(Pet.class, new Integer(id));
 		}
-		Owner owner = loadOwner(pet.getOwnerId());
+		Owner owner = findOwner(pet.getOwnerId());
 		owner.addPet(pet);
 		pet.setType(EntityUtils.getById(getPetTypes(), PetType.class, pet.getTypeId()));
 		loadVisits(pet);
diff --git a/src/main/java/org/springframework/samples/petclinic/jpa/EntityManagerClinic.java b/src/main/java/org/springframework/samples/petclinic/jpa/EntityManagerClinic.java
index 92fe1e247711fc679d2771c1f98c51abcacad46b..d3fe8ef366e7be21d649f51b9f1ebc05f44be59e 100644
--- a/src/main/java/org/springframework/samples/petclinic/jpa/EntityManagerClinic.java
+++ b/src/main/java/org/springframework/samples/petclinic/jpa/EntityManagerClinic.java
@@ -55,12 +55,12 @@ public class EntityManagerClinic implements Clinic {
 	}
 
 	@Transactional(readOnly = true)
-	public Owner loadOwner(int id) {
+	public Owner findOwner(int id) {
 		return this.em.find(Owner.class, id);
 	}
 
 	@Transactional(readOnly = true)
-	public Pet loadPet(int id) {
+	public Pet findPet(int id) {
 		return this.em.find(Pet.class, id);
 	}
 
@@ -89,7 +89,7 @@ public class EntityManagerClinic implements Clinic {
 	}
 
 	public void deletePet(int id) throws DataAccessException {
-		Pet pet = loadPet(id);
+		Pet pet = findPet(id);
 		this.em.remove(pet);
 	}
 
diff --git a/src/main/java/org/springframework/samples/petclinic/web/AddPetController.java b/src/main/java/org/springframework/samples/petclinic/web/AddPetController.java
index 314b301b1437a3f243e4a80c8efd43168c545acc..3d429d4bf5b55ddf95e6699f8162e2bbadef9e43 100644
--- a/src/main/java/org/springframework/samples/petclinic/web/AddPetController.java
+++ b/src/main/java/org/springframework/samples/petclinic/web/AddPetController.java
@@ -54,7 +54,7 @@ public class AddPetController {
 
 	@RequestMapping(method = RequestMethod.GET)
 	public String setupForm(@PathVariable("ownerId") int ownerId, Model model) {
-		Owner owner = this.clinic.loadOwner(ownerId);
+		Owner owner = this.clinic.findOwner(ownerId);
 		Pet pet = new Pet();
 		owner.addPet(pet);
 		model.addAttribute("pet", pet);
diff --git a/src/main/java/org/springframework/samples/petclinic/web/AddVisitController.java b/src/main/java/org/springframework/samples/petclinic/web/AddVisitController.java
index 93125687990e23d6c6a705e99f9502c7fd71d3b2..64a09edd5e37edef422fb2946f5d522bcd1c014b 100644
--- a/src/main/java/org/springframework/samples/petclinic/web/AddVisitController.java
+++ b/src/main/java/org/springframework/samples/petclinic/web/AddVisitController.java
@@ -46,7 +46,7 @@ public class AddVisitController {
 
 	@RequestMapping(method = RequestMethod.GET)
 	public String setupForm(@PathVariable("petId") int petId, Model model) {
-		Pet pet = this.clinic.loadPet(petId);
+		Pet pet = this.clinic.findPet(petId);
 		Visit visit = new Visit();
 		pet.addVisit(visit);
 		model.addAttribute("visit", visit);
diff --git a/src/main/java/org/springframework/samples/petclinic/web/ClinicController.java b/src/main/java/org/springframework/samples/petclinic/web/ClinicController.java
index fa9f092c1196d221c8f3b31abb1e238e9c500b71..d624e4dc80cafd71e4a05171272847d38d14ed4a 100644
--- a/src/main/java/org/springframework/samples/petclinic/web/ClinicController.java
+++ b/src/main/java/org/springframework/samples/petclinic/web/ClinicController.java
@@ -71,7 +71,7 @@ public class ClinicController {
 	@RequestMapping("/owners/{ownerId}")
 	public ModelAndView showOwner(@PathVariable("ownerId") int ownerId) {
 		ModelAndView mav = new ModelAndView("owners/show");
-		mav.addObject(this.clinic.loadOwner(ownerId));
+		mav.addObject(this.clinic.findOwner(ownerId));
 		return mav;
 	}
 
@@ -84,7 +84,7 @@ public class ClinicController {
 	@RequestMapping(value="/owners/*/pets/{petId}/visits", method=RequestMethod.GET)
 	public ModelAndView visitsHandler(@PathVariable int petId) {
 		ModelAndView mav = new ModelAndView("visits");
-		mav.addObject("visits", this.clinic.loadPet(petId).getVisits());
+		mav.addObject("visits", this.clinic.findPet(petId).getVisits());
 		return mav;
 	}
 
diff --git a/src/main/java/org/springframework/samples/petclinic/web/EditOwnerController.java b/src/main/java/org/springframework/samples/petclinic/web/EditOwnerController.java
index e602f75fd268ba7874ba96eac0dc29fa71fa1e12..5c830181d1d73a5a3505589f044fea9a906cf0c2 100644
--- a/src/main/java/org/springframework/samples/petclinic/web/EditOwnerController.java
+++ b/src/main/java/org/springframework/samples/petclinic/web/EditOwnerController.java
@@ -44,7 +44,7 @@ public class EditOwnerController {
 
 	@RequestMapping(method = RequestMethod.GET)
 	public String setupForm(@PathVariable("ownerId") int ownerId, Model model) {
-		Owner owner = this.clinic.loadOwner(ownerId);
+		Owner owner = this.clinic.findOwner(ownerId);
 		model.addAttribute(owner);
 		return "owners/form";
 	}
diff --git a/src/main/java/org/springframework/samples/petclinic/web/EditPetController.java b/src/main/java/org/springframework/samples/petclinic/web/EditPetController.java
index c7703c1e9f29c8afadfefef3123ed2216fcfc3ab..129f078fa53b0ef2dc1c336ae99e06478d2ca30f 100644
--- a/src/main/java/org/springframework/samples/petclinic/web/EditPetController.java
+++ b/src/main/java/org/springframework/samples/petclinic/web/EditPetController.java
@@ -52,7 +52,7 @@ public class EditPetController {
 
 	@RequestMapping(method = RequestMethod.GET)
 	public String setupForm(@PathVariable("petId") int petId, Model model) {
-		Pet pet = this.clinic.loadPet(petId);
+		Pet pet = this.clinic.findPet(petId);
 		model.addAttribute("pet", pet);
 		return "pets/form";
 	}
@@ -72,7 +72,7 @@ public class EditPetController {
 
 	@RequestMapping(method = RequestMethod.DELETE)
 	public String deletePet(@PathVariable int petId) {
-		Pet pet = this.clinic.loadPet(petId);
+		Pet pet = this.clinic.findPet(petId);
 		this.clinic.deletePet(petId);
 		return "redirect:/owners/" + pet.getOwner().getId();
 	}
diff --git a/src/main/resources/db/hsqldb/initDB.txt b/src/main/resources/db/hsqldb/initDB.sql
similarity index 100%
rename from src/main/resources/db/hsqldb/initDB.txt
rename to src/main/resources/db/hsqldb/initDB.sql
diff --git a/src/main/resources/db/hsqldb/populateDB.txt b/src/main/resources/db/hsqldb/populateDB.sql
similarity index 100%
rename from src/main/resources/db/hsqldb/populateDB.txt
rename to src/main/resources/db/hsqldb/populateDB.sql
diff --git a/src/main/webapp/WEB-INF/spring/applicationContext-dataSource.xml b/src/main/resources/spring/applicationContext-dataSource.xml
similarity index 94%
rename from src/main/webapp/WEB-INF/spring/applicationContext-dataSource.xml
rename to src/main/resources/spring/applicationContext-dataSource.xml
index 395885883a7f0c49add497e990e9f3b457bfc866..d803c0a2f536be1667bf0643d63f1c3f6000cd3f 100644
--- a/src/main/webapp/WEB-INF/spring/applicationContext-dataSource.xml
+++ b/src/main/resources/spring/applicationContext-dataSource.xml
@@ -15,7 +15,7 @@
 
 	<!-- Configurer that replaces ${...} placeholders with values from a properties file -->
 	<!-- (in this case, JDBC-related settings for the dataSource definition below) -->
-	<context:property-placeholder location="classpath:jdbc.properties"/>
+	<context:property-placeholder location="classpath:spring/jdbc.properties"/>
 
 	<!-- DataSource configuration for Apache Commons DBCP. -->
 	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"
diff --git a/src/main/webapp/WEB-INF/spring/applicationContext-jdbc.xml b/src/main/resources/spring/applicationContext-jdbc.xml
similarity index 100%
rename from src/main/webapp/WEB-INF/spring/applicationContext-jdbc.xml
rename to src/main/resources/spring/applicationContext-jdbc.xml
diff --git a/src/main/webapp/WEB-INF/spring/applicationContext-jpa.xml b/src/main/resources/spring/applicationContext-jpa.xml
similarity index 79%
rename from src/main/webapp/WEB-INF/spring/applicationContext-jpa.xml
rename to src/main/resources/spring/applicationContext-jpa.xml
index 01ebfa01cb754bb6d574741e4d2f9ca92aa09dad..ccc8d33d7c3cb155d7a589bd32119992b359d100 100644
--- a/src/main/webapp/WEB-INF/spring/applicationContext-jpa.xml
+++ b/src/main/resources/spring/applicationContext-jpa.xml
@@ -16,33 +16,23 @@
 	<!-- import the dataSource definition -->
 	<import resource="applicationContext-dataSource.xml"/>
 
-	<!--
-		Activates a load-time weaver for the context. Any bean within the context that
-		implements LoadTimeWeaverAware (such as LocalContainerEntityManagerFactoryBean)
-		will receive a reference to the autodetected load-time weaver.
-	-->
-	<context:load-time-weaver/>
 
 	<!-- Configurer that replaces ${...} placeholders with values from a properties file -->
 	<!-- (in this case, JDBC-related settings for the JPA EntityManager definition below) -->
-	<context:property-placeholder location="classpath:jdbc.properties"/>
+	<context:property-placeholder location="classpath:spring/jdbc.properties"/>
 
 	<!-- JPA EntityManagerFactory -->
 	<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
 			p:dataSource-ref="dataSource">
-		<property name="jpaVendorAdapter">
-			<bean class="org.springframework.orm.jpa.vendor.TopLinkJpaVendorAdapter"
-					p:databasePlatform="${jpa.databasePlatform}" p:showSql="${jpa.showSql}"/>
-			<!--
-			<bean class="org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter"
-					p:database="${jpa.database}" p:showSql="${jpa.showSql}"/>
-			-->
-			<!--
+		<property name="jpaVendorAdapter">			
 			<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"
-					p:database="${jpa.database}" p:showSql="${jpa.showSql}"/>
-			-->
+					p:database="${jpa.database}" p:showSql="${jpa.showSql}"/>			
+		</property>
+		<property name="packagesToScan">
+			<list>
+				<value>org/springframework/samples/petclinic</value>
+			</list>
 		</property>
-		<property name="persistenceXmlLocation" value="classpath:META-INF/jpa-persistence.xml"/>
 	</bean>
 
 	<!-- Transaction manager for a single JPA EntityManagerFactory (alternative to JTA) -->
diff --git a/src/main/resources/jdbc.properties b/src/main/resources/spring/jdbc.properties
similarity index 95%
rename from src/main/resources/jdbc.properties
rename to src/main/resources/spring/jdbc.properties
index 82cd2ead22f73830408e057c888554cdf621568c..5d6b5586138151576a8c76e35f78fb8348a94f83 100644
--- a/src/main/resources/jdbc.properties
+++ b/src/main/resources/spring/jdbc.properties
@@ -22,8 +22,8 @@ jdbc.username=sa
 jdbc.password=
 
 # Properties that control the population of schema and data for a new data source
-jdbc.initLocation=classpath:db/hsqldb/initDB.txt
-jdbc.dataLocation=classpath:db/hsqldb/populateDB.txt
+jdbc.initLocation=classpath:db/hsqldb/initDB.sql
+jdbc.dataLocation=classpath:db/hsqldb/populateDB.sql
 
 # Property that determines which Hibernate dialect to use
 # (only applied with "applicationContext-hibernate.xml")
diff --git a/src/main/webapp/WEB-INF/spring/applicationContext-hibernate.xml b/src/main/webapp/WEB-INF/spring/applicationContext-hibernate.xml
deleted file mode 100644
index 4e155d5baab0e809382f2191a16a00b13b5a55e5..0000000000000000000000000000000000000000
--- a/src/main/webapp/WEB-INF/spring/applicationContext-hibernate.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-	Application context definition for PetClinic on Hibernate.
--->
-<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-		xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
-		xmlns:tx="http://www.springframework.org/schema/tx"
-		xsi:schemaLocation="
-			http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-			http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
-			http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
-
-	<!-- ========================= RESOURCE DEFINITIONS ========================= -->
-
-    <!-- import the dataSource definition -->
-    <import resource="applicationContext-dataSource.xml"/>
-
-	<!-- Configurer that replaces ${...} placeholders with values from a properties file -->
-	<!-- (in this case, Hibernate-related settings for the sessionFactory definition below) -->
-	<context:property-placeholder location="classpath:jdbc.properties"/>
-
-	<!-- Hibernate SessionFactory -->
-	<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"
-			p:dataSource-ref="dataSource" p:mappingResources="petclinic.hbm.xml">
-		<property name="hibernateProperties">
-			<props>
-				<prop key="hibernate.dialect">${hibernate.dialect}</prop>
-				<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
-				<prop key="hibernate.generate_statistics">${hibernate.generate_statistics}</prop>
-			</props>
-		</property>
-		<property name="eventListeners">
-			<map>
-				<entry key="merge">
-					<bean class="org.springframework.orm.hibernate4.support.IdTransferringMergeEventListener"/>
-				</entry>
-			</map>
-		</property>
-	</bean>
-
-	<!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) -->
-	<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"
-			p:sessionFactory-ref="sessionFactory"/>
-
-	<!-- Transaction manager that delegates to JTA (for a transactional JNDI DataSource) -->
-	<!--
-	<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"/>
-	-->
-
-
-	<!-- ========================= BUSINESS OBJECT DEFINITIONS ========================= -->
-
-	<!--
-		Activates various annotations to be detected in bean classes:
-		Spring's @Required and @Autowired, as well as JSR 250's @Resource.
-	-->
-	<context:annotation-config/>
-
-	<!--
-		Instruct Spring to perform declarative transaction management
-		automatically on annotated classes.
-	-->
-	<tx:annotation-driven/>
-
-	<!--
-		Exporter that exposes the Hibernate statistics service via JMX. Autodetects the
-		service MBean, using its bean name as JMX object name.
-	-->
-	<context:mbean-export/>
-
-	<!-- PetClinic's central data access object: Hibernate implementation -->
-	<bean id="clinic" class="org.springframework.samples.petclinic.hibernate.HibernateClinic"/>
-
-	<!-- Hibernate's JMX statistics service -->
-	<bean name="petclinic:type=HibernateStatistics" class="org.hibernate.jmx.StatisticsService" autowire="byName"/>
-
-</beans>
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index 43c322bd5f8fa7890d37dc5f4825060e71bd0185..b8dad078f579703e66f49653993e92cae01470ab 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -37,7 +37,7 @@
 	-->
 	<context-param>
 		<param-name>contextConfigLocation</param-name>
-		<param-value>/WEB-INF/spring/applicationContext-jdbc.xml</param-value>
+		<param-value>classpath:spring/applicationContext-jdbc.xml</param-value>
         <!--
 		<param-value>/WEB-INF/spring/applicationContext-hibernate.xml</param-value>
 		<param-value>/WEB-INF/spring/applicationContext-jpa.xml</param-value>
diff --git a/src/test/java/org/springframework/samples/petclinic/AbstractClinicTests.java b/src/test/java/org/springframework/samples/petclinic/AbstractClinicTests.java
index a62cb201f6f82dd227070b9f53dd30ae71f06fcb..4d7b4114c41b034a5fe78d8e61337ab2042a4c1b 100644
--- a/src/test/java/org/springframework/samples/petclinic/AbstractClinicTests.java
+++ b/src/test/java/org/springframework/samples/petclinic/AbstractClinicTests.java
@@ -123,9 +123,9 @@ public abstract class AbstractClinicTests {
 
 	@Test
 	public void loadOwner() {
-		Owner o1 = this.clinic.loadOwner(1);
+		Owner o1 = this.clinic.findOwner(1);
 		assertTrue(o1.getLastName().startsWith("Franklin"));
-		Owner o10 = this.clinic.loadOwner(10);
+		Owner o10 = this.clinic.findOwner(10);
 		assertEquals("Carlos", o10.getFirstName());
 
 		// XXX: Add programmatic support for ending transactions with the
@@ -154,22 +154,22 @@ public abstract class AbstractClinicTests {
 
 	@Test
 	public void updateOwner() throws Exception {
-		Owner o1 = this.clinic.loadOwner(1);
+		Owner o1 = this.clinic.findOwner(1);
 		String old = o1.getLastName();
 		o1.setLastName(old + "X");
 		this.clinic.storeOwner(o1);
-		o1 = this.clinic.loadOwner(1);
+		o1 = this.clinic.findOwner(1);
 		assertEquals(old + "X", o1.getLastName());
 	}
 
 	@Test
 	public void loadPet() {
 		Collection<PetType> types = this.clinic.getPetTypes();
-		Pet p7 = this.clinic.loadPet(7);
+		Pet p7 = this.clinic.findPet(7);
 		assertTrue(p7.getName().startsWith("Samantha"));
 		assertEquals(EntityUtils.getById(types, PetType.class, 1).getId(), p7.getType().getId());
 		assertEquals("Jean", p7.getOwner().getFirstName());
-		Pet p6 = this.clinic.loadPet(6);
+		Pet p6 = this.clinic.findPet(6);
 		assertEquals("George", p6.getName());
 		assertEquals(EntityUtils.getById(types, PetType.class, 4).getId(), p6.getType().getId());
 		assertEquals("Peter", p6.getOwner().getFirstName());
@@ -177,7 +177,7 @@ public abstract class AbstractClinicTests {
 
 	@Test
 	public void insertPet() {
-		Owner o6 = this.clinic.loadOwner(6);
+		Owner o6 = this.clinic.findOwner(6);
 		int found = o6.getPets().size();
 		Pet pet = new Pet();
 		pet.setName("bowser");
@@ -190,23 +190,23 @@ public abstract class AbstractClinicTests {
 		this.clinic.storePet(pet);
 		this.clinic.storeOwner(o6);
 		// assertTrue(!pet.isNew()); -- NOT TRUE FOR TOPLINK (before commit)
-		o6 = this.clinic.loadOwner(6);
+		o6 = this.clinic.findOwner(6);
 		assertEquals(found + 1, o6.getPets().size());
 	}
 
 	@Test
 	public void updatePet() throws Exception {
-		Pet p7 = this.clinic.loadPet(7);
+		Pet p7 = this.clinic.findPet(7);
 		String old = p7.getName();
 		p7.setName(old + "X");
 		this.clinic.storePet(p7);
-		p7 = this.clinic.loadPet(7);
+		p7 = this.clinic.findPet(7);
 		assertEquals(old + "X", p7.getName());
 	}
 
 	@Test
 	public void insertVisit() {
-		Pet p7 = this.clinic.loadPet(7);
+		Pet p7 = this.clinic.findPet(7);
 		int found = p7.getVisits().size();
 		Visit visit = new Visit();
 		p7.addVisit(visit);
@@ -215,7 +215,7 @@ public abstract class AbstractClinicTests {
 		this.clinic.storeVisit(visit);
 		this.clinic.storePet(p7);
 		// assertTrue(!visit.isNew()); -- NOT TRUE FOR TOPLINK (before commit)
-		p7 = this.clinic.loadPet(7);
+		p7 = this.clinic.findPet(7);
 		assertEquals(found + 1, p7.getVisits().size());
 	}
 
diff --git a/src/test/java/org/springframework/samples/petclinic/jpa/EntityManagerClinicTests.java b/src/test/java/org/springframework/samples/petclinic/aspects/UsageLogAspectTests.java
similarity index 83%
rename from src/test/java/org/springframework/samples/petclinic/jpa/EntityManagerClinicTests.java
rename to src/test/java/org/springframework/samples/petclinic/aspects/UsageLogAspectTests.java
index 669cdcd94a7b3604b5f11cf37a8d68f3d627f596..407712d44b5a794a7a4ec333927408bba7f89fad 100644
--- a/src/test/java/org/springframework/samples/petclinic/jpa/EntityManagerClinicTests.java
+++ b/src/test/java/org/springframework/samples/petclinic/aspects/UsageLogAspectTests.java
@@ -1,4 +1,4 @@
-package org.springframework.samples.petclinic.jpa;
+package org.springframework.samples.petclinic.aspects;
 
 import java.util.List;
 
@@ -6,6 +6,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.samples.petclinic.aspects.UsageLogAspect;
+import org.springframework.samples.petclinic.jpa.JpaClinicTests;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import static junit.framework.Assert.assertTrue;
@@ -24,10 +25,9 @@ import static junit.framework.Assert.assertFalse;
  * @author Rod Johnson
  * @author Juergen Hoeller
  */
-@ContextConfiguration(locations={"applicationContext-jpaCommon.xml", "applicationContext-hibernateAdapter.xml",
-			"applicationContext-entityManager.xml"})
+@ContextConfiguration(locations={"classpath:spring/applicationContext-jpa.xml"})
 @RunWith(SpringJUnit4ClassRunner.class)
-public class EntityManagerClinicTests extends AbstractJpaClinicTests {
+public class UsageLogAspectTests extends JpaClinicTests {
 
 	@Autowired
 	private UsageLogAspect usageLogAspect;
diff --git a/src/test/java/org/springframework/samples/petclinic/hibernate/HibernateClinicTests.java b/src/test/java/org/springframework/samples/petclinic/hibernate/HibernateClinicTests.java
deleted file mode 100644
index cedbba3c96a029ed6f11ce92cb95ed7a9627c8a8..0000000000000000000000000000000000000000
--- a/src/test/java/org/springframework/samples/petclinic/hibernate/HibernateClinicTests.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.springframework.samples.petclinic.hibernate;
-
-import org.junit.runner.RunWith;
-import org.springframework.samples.petclinic.AbstractClinicTests;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-
-/**
- * <p>
- * Integration tests for the {@link HibernateClinic} implementation.
- * </p>
- * <p>
- * "HibernateClinicTests-context.xml" determines the actual beans to test.
- * </p>
- *
- * @author Juergen Hoeller
- * @author Sam Brannen
- */
-@ContextConfiguration
-@DirtiesContext
-@RunWith(SpringJUnit4ClassRunner.class)
-public class HibernateClinicTests extends AbstractClinicTests {
-
-}
diff --git a/src/test/java/org/springframework/samples/petclinic/jpa/HibernateEntityManagerClinicTests.java b/src/test/java/org/springframework/samples/petclinic/jpa/HibernateEntityManagerClinicTests.java
deleted file mode 100644
index d5dac397e1bb6297290ab2d1d558262a8876c568..0000000000000000000000000000000000000000
--- a/src/test/java/org/springframework/samples/petclinic/jpa/HibernateEntityManagerClinicTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.springframework.samples.petclinic.jpa;
-
-import org.junit.runner.RunWith;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-
-/**
- * <p>
- * Tests for the DAO variant based on the shared EntityManager approach, using
- * Hibernate EntityManager for testing instead of the reference implementation.
- * </p>
- * <p>
- * Specifically tests usage of an <code>orm.xml</code> file, loaded by the
- * persistence provider through the Spring-provided persistence unit root URL.
- * </p>
- *
- * @author Juergen Hoeller
- */
-@ContextConfiguration(locations={"applicationContext-jpaCommon.xml", "applicationContext-hibernateAdapter.xml",
-"applicationContext-entityManager.xml"})
-@RunWith(SpringJUnit4ClassRunner.class)
-public class HibernateEntityManagerClinicTests extends EntityManagerClinicTests {
-
-}
diff --git a/src/test/java/org/springframework/samples/petclinic/jpa/AbstractJpaClinicTests.java b/src/test/java/org/springframework/samples/petclinic/jpa/JpaClinicTests.java
similarity index 81%
rename from src/test/java/org/springframework/samples/petclinic/jpa/AbstractJpaClinicTests.java
rename to src/test/java/org/springframework/samples/petclinic/jpa/JpaClinicTests.java
index 77b08a19b6b2f470d2b7d844ff8f40f3915ae804..ae4acc1ca2fccbd962cd4fe648466b804ab7d135 100644
--- a/src/test/java/org/springframework/samples/petclinic/jpa/AbstractJpaClinicTests.java
+++ b/src/test/java/org/springframework/samples/petclinic/jpa/JpaClinicTests.java
@@ -12,6 +12,7 @@ import javax.persistence.EntityManager;
 import javax.persistence.PersistenceContext;
 
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.samples.petclinic.Clinic;
 import org.springframework.samples.petclinic.Owner;
@@ -20,18 +21,12 @@ import org.springframework.samples.petclinic.PetType;
 import org.springframework.samples.petclinic.Vet;
 import org.springframework.samples.petclinic.Visit;
 import org.springframework.samples.petclinic.util.EntityUtils;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 /**
  * <p>
- * This class extends {@link AbstractJpaTests}, one of the valuable test
- * superclasses provided in the <code>org.springframework.test</code> package.
- * This represents best practice for integration tests with Spring for JPA based
- * tests which require <em>shadow class loading</em>. For all other types of
- * integration testing, the <em>Spring TestContext Framework</em> is
- * preferred.
- * </p>
- * <p>
- * AbstractJpaTests and its superclasses provide the following services:
+ * Provides the following services:
  * <ul>
  * <li>Injects test dependencies, meaning that we don't need to perform
  * application context lookups. See the setClinic() method. Injection uses
@@ -41,15 +36,16 @@ import org.springframework.samples.petclinic.util.EntityUtils;
  * change database state, there is no need for a teardown or cleanup script.</li>
  * </ul>
  * <p>
- * {@link AbstractJpaTests} and related classes are shipped in
- * <code>spring-test.jar</code>.
- * </p>
+  * </p>
  *
  * @author Rod Johnson
  * @author Sam Brannen
- * @see AbstractJpaTests
+ * @author Michael Isvy
  */
-public abstract class AbstractJpaClinicTests {
+
+@ContextConfiguration(locations={"classpath:spring/applicationContext-jpa.xml"})
+@RunWith(SpringJUnit4ClassRunner.class)
+public class JpaClinicTests {
 	
 	@PersistenceContext
 	private EntityManager entityManager;
@@ -103,10 +99,10 @@ public abstract class AbstractJpaClinicTests {
 	}
 
 	@Test
-	public void testLoadOwner() {
-		Owner o1 = this.clinic.loadOwner(1);
+	public void tesFindOwner() {
+		Owner o1 = this.clinic.findOwner(1);
 		assertTrue(o1.getLastName().startsWith("Franklin"));
-		Owner o10 = this.clinic.loadOwner(10);
+		Owner o10 = this.clinic.findOwner(10);
 		assertEquals("Carlos", o10.getFirstName());
 	}
 
@@ -124,22 +120,22 @@ public abstract class AbstractJpaClinicTests {
 
 	@Test
 	public void testUpdateOwner() throws Exception {
-		Owner o1 = this.clinic.loadOwner(1);
+		Owner o1 = this.clinic.findOwner(1);
 		String old = o1.getLastName();
 		o1.setLastName(old + "X");
 		this.clinic.storeOwner(o1);
-		o1 = this.clinic.loadOwner(1);
+		o1 = this.clinic.findOwner(1);
 		assertEquals(old + "X", o1.getLastName());
 	}
 
 	@Test
-	public void testLoadPet() {
+	public void testFindPet() {
 		Collection<PetType> types = this.clinic.getPetTypes();
-		Pet p7 = this.clinic.loadPet(7);
+		Pet p7 = this.clinic.findPet(7);
 		assertTrue(p7.getName().startsWith("Samantha"));
 		assertEquals(EntityUtils.getById(types, PetType.class, 1).getId(), p7.getType().getId());
 		assertEquals("Jean", p7.getOwner().getFirstName());
-		Pet p6 = this.clinic.loadPet(6);
+		Pet p6 = this.clinic.findPet(6);
 		assertEquals("George", p6.getName());
 		assertEquals(EntityUtils.getById(types, PetType.class, 4).getId(), p6.getType().getId());
 		assertEquals("Peter", p6.getOwner().getFirstName());
@@ -147,7 +143,7 @@ public abstract class AbstractJpaClinicTests {
 
 	@Test
 	public void testInsertPet() {
-		Owner o6 = this.clinic.loadOwner(6);
+		Owner o6 = this.clinic.findOwner(6);
 		int found = o6.getPets().size();
 		Pet pet = new Pet();
 		pet.setName("bowser");
@@ -158,30 +154,30 @@ public abstract class AbstractJpaClinicTests {
 		assertEquals(found + 1, o6.getPets().size());
 		this.clinic.storeOwner(o6);
 		// assertTrue(!pet.isNew()); -- NOT TRUE FOR TOPLINK (before commit)
-		o6 = this.clinic.loadOwner(6);
+		o6 = this.clinic.findOwner(6);
 		assertEquals(found + 1, o6.getPets().size());
 	}
 
 	@Test
 	public void testUpdatePet() throws Exception {
-		Pet p7 = this.clinic.loadPet(7);
+		Pet p7 = this.clinic.findPet(7);
 		String old = p7.getName();
 		p7.setName(old + "X");
 		this.clinic.storePet(p7);
-		p7 = this.clinic.loadPet(7);
+		p7 = this.clinic.findPet(7);
 		assertEquals(old + "X", p7.getName());
 	}
 
 	@Test
 	public void testInsertVisit() {
-		Pet p7 = this.clinic.loadPet(7);
+		Pet p7 = this.clinic.findPet(7);
 		int found = p7.getVisits().size();
 		Visit visit = new Visit();
 		p7.addVisit(visit);
 		visit.setDescription("test");
 		this.clinic.storePet(p7);
 		// assertTrue(!visit.isNew()); -- NOT TRUE FOR TOPLINK (before commit)
-		p7 = this.clinic.loadPet(7);
+		p7 = this.clinic.findPet(7);
 		assertEquals(found + 1, p7.getVisits().size());
 	}
 }
\ No newline at end of file
diff --git a/src/test/resources/org/springframework/samples/petclinic/hibernate/HibernateClinicTests-context.xml b/src/test/resources/org/springframework/samples/petclinic/hibernate/HibernateClinicTests-context.xml
deleted file mode 100644
index bcf48e75cd924e2eff79126c6b7dd7fa28ffdb1f..0000000000000000000000000000000000000000
--- a/src/test/resources/org/springframework/samples/petclinic/hibernate/HibernateClinicTests-context.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:p="http://www.springframework.org/schema/p"
-	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-	<bean class="org.springframework.samples.petclinic.hibernate.HibernateClinic">
-		<constructor-arg ref="sessionFactory"/>
-	</bean>
-
-	<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"
-		p:dataSource-ref="dataSource" p:mappingResources="petclinic.hbm.xml">
-		<property name="hibernateProperties">
-			<props>
-				<prop key="hibernate.dialect">${hibernate.dialect}</prop>
-				<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
-			</props>
-		</property>
-	</bean>
-
-	<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"
-		p:sessionFactory-ref="sessionFactory" />
-
-	<bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />
-
-</beans>