If Hibernate is not aware that a certain table holds state mapped by an entity class or collection, then modifications might not be automatically synchronized with the database before a query is executed against that table, and the query might return stale data.
Ordinarily, Hibernate knows the tables containing the state of an entity or collection. This annotation might be necessary if:
@SQLSelect and friends, or
@Subselect.
By default, the table names specified by this annotation are interpreted
as logical names, and are processed by
org..
But if logical=false, the table names will be treated
as physical names, and will not be processed by the naming strategy.
org.hibernate.query.SynchronizeableQuery
| Modifier and Type | Method and Description |
|---|---|
| public boolean | |
| public String[] |
| logical | back to summary |
|---|---|
| public boolean logical() Specifies whether the table names given by
| |
| value | back to summary |
|---|---|
| public String[] value() Names of tables that hold state mapped by the annotated entity. Updates to these tables must be flushed to the database before execution of any query which refers to the annotated entity. | |