Use PostgreSQL database and its Postgis extension. The openstreetmaps.org project for example works with them. So you could somehow say it's a proven technology.
In our current project we are using plain JDBC and hibernate (+hibernate-spatial) together to acces the geo-database. Untill now we cant't complain at all.
BTW: Hibernate spatial will and be part of Hibernate 5