JPA: java.lang.IllegalArgumentException: Not an entity

My persistence.xml does not contain any information about Vehicle. My understanding is that annotations are enough. Is that correct?

No, it's not. The entities must be listed in the persistence.xml file, under the persistence-unit element:

<class>com.foo.demos.car.model.Vehicle</class>

You need to give a hint to where the persistent entities can be found. I normally configure via Spring so don't have the exact info required however look here for some further discussion.

Do I need <class> elements in persistence.xml?