Use database Views with Hibernate
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.
Gaurav Suman
Updated on May 08, 2020Comments
-
Gaurav Suman about 4 years
I have a table named
Samples
in my DB,and it has a column namedbaseline
which is a boolean variable. I wanted to search among the rows which havebaseline
set as1
, so I created a view in the DB (MySQL). Now, instead of querying theSamples
table, I want to query this view (names asBaselines
).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? -
Gaurav Suman about 12 yearsSo i would need to create a Java Class named Baselines with the same fields as the Samples class?
-
Nux almost 4 yearsYou can add
@Immutable
to avoid updates. If you generate your database schema from entities, you might also want to use@Subselect("select * from BaselinesView")
.