Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Use database Views with Hibernate

I have a table named Samples in my DB,and it has a column named baseline which is a boolean variable. I wanted to search among the rows which have baseline set as 1, so I created a view in the DB (MySQL). Now, instead of querying the Samples table, I want to query this view (names as Baselines).

Do I need to add a declaration for this view in the hibernate cfg file? Also, do I need to create another Java class named Baselines for this?

like image 704
Gaurav Suman Avatar asked May 08 '12 09:05

Gaurav Suman


1 Answers

Hibernate can treat views like it does any table. Just define an entity class based on that view (Baselines, as you say).

The most common difficulty with views is that some database engines can't handle inserts or updates on views, so be aware of that if your application tries to modify the data. I don't know if MySQL is capable of this.

An alternative to using a view is to use Hibernate Filters, which do much the same thing, but at the Hibernate session level.

like image 74
skaffman Avatar answered Sep 17 '22 12:09

skaffman