Я столкнулся с подобной проблемой, но не использовал источник данных, в моем случае проблема была решена путем добавления ключа гибернации при предоставлении сведений о базе данных в моем файле persistence.xml. Обратите внимание, что Hibernate 3.x и 4.x имеют разный синтаксис, как упомянуто ниже (используйте это при понижении рейтинга Hibernate 4.x до 3.x).
Изменено ниже (синтаксис Hibernate 4.x):
<properties>
<property name="javax.persistence.jdbc.driver" value="..."/>
<property name="javax.persistence.jdbc.url" value="..."/>
<property name="javax.persistence.jdbc.user" value="..."/>
<property name="javax.persistence.jdbc.password" value="..."/>
</properties>
С (синтаксис Hibernate 3.x):
<properties>
<property name="hibernate.connection.driver_class" value="..."/>
<property name="hibernate.connection.url" value="..."/>
<property name="hibernate.connection.username" value="..."/>
<property name="hibernate.connection.password" value="..."/>
</properties>