I think that you attribute too much power to Hibernate.
Hibernate has an idiom that can affect database implementation.
Hibernation does not generate a circuit for you unless you ask it to do so. You can start with an existing schema and map it to Java objects using Hibernate. But this may not be possible or optimal if the circuit conflicts with Hibernate requirements.
If the database administrator does not budge - as they should not - or Hibernate cannot place you, then you have the answer: you cannot use Hibernate.
Your database administrator may agree, but your application may find that the dynamic SQL generated by Hibernate for you is not what you want.
Fortunately for you, this is not the only game in the city.
I do not think that the implementation should be completely or nothing. If you use simple JDBC to access reference data, what harm?
Database design considerations must be independent of Hibernate. Constraints, triggers, normalization, and indexes should be determined by the needs of the business, not the choice of middleware.
If you don’t have a solid object model or the circuit cannot accommodate it, you should reconsider Hibernate. Alternatively, there are direct JDBC, stored procedures, Spring JDBC and iBatis.
source share