Hmmm. I'll try and chew into this. Hopefully I won't mess it up too badly.
However, first: standard disclaimer. I see you have a "LoginController". That indicates that you probably have a user-defined login/security system. Those things are serious security risks. The crackability rate is something like 95%. I recommend that you either use
JEE standard container security or Spring Security. If you
are using Spring Security, don't mind me. It's a little difficult for me to tell here.
Now for the JPA. An important thing to note is that JPA is a subset of the JEE Enterprise JavaBeans standard beginning with EJB3. As such, you have to be aware that how you wire it up depends on what webapp server you use. A full-stack JEE server such as WebLogic, WebSphere or
Wildfly has EJB3 built into it, and that includes the EntityManager factory. On the other hand, limited servers like
Tomcat and jetty do not. That includes cases where they are the internal webapp server for Spring Boot apps. TomEE is a special bundling of Tomcat that integrates full-stack services (including EJB3) into Tomcat. It has its fans,, but it's comparatively rate.
The upshot to that is that the limited-stack servers require JPA implementation JARs to be included in the WARs that use them. There are several JPA implementations besides Hibernate JPA, including Apache OpenJPA. They're mostly plug-replaceable, since all JPA implementations must conform to the JEE JPA standard.
Contrariwise, if you use JPA in a full-stack server's webapp,
you should NOT include JPA implementation JARs in your WAR. If you do, they'll get into fights with JPA classes that are built into the webapp server.
One thing that also sticks out is that apparently your Spring configuration file is named testapp-servlet.xml. My exact memory of Spring Web details, like all my other memories is rapidly rotting, but I don't think that that's where you should be putting all your Spring definitions. I normally have my master definitions, including the JPA config stuff, in a
/WEB-INF/classes/application.xml file. The "xxx-servlet.xml" file(s) would configure individual Spring web servlets, as I fuzzily recall.
You say you are "converting" to Hibernate JPA, which implies that you had some existing app. If so, what did it use as its persistence mechanism?