change SessionFactory.getCriteriaBuilder() to return HibernateCriteriaBuilder
This commit is contained in:
parent
d6b8ed710f
commit
addb48fe82
|
@ -17,6 +17,7 @@ import javax.naming.Referenceable;
|
||||||
import org.hibernate.boot.spi.SessionFactoryOptions;
|
import org.hibernate.boot.spi.SessionFactoryOptions;
|
||||||
import org.hibernate.engine.spi.FilterDefinition;
|
import org.hibernate.engine.spi.FilterDefinition;
|
||||||
import org.hibernate.graph.RootGraph;
|
import org.hibernate.graph.RootGraph;
|
||||||
|
import org.hibernate.query.criteria.HibernateCriteriaBuilder;
|
||||||
import org.hibernate.relational.SchemaManager;
|
import org.hibernate.relational.SchemaManager;
|
||||||
import org.hibernate.stat.Statistics;
|
import org.hibernate.stat.Statistics;
|
||||||
|
|
||||||
|
@ -36,6 +37,11 @@ import jakarta.persistence.EntityManagerFactory;
|
||||||
* obtain a new {@link Session} instance from the factory each time it services
|
* obtain a new {@link Session} instance from the factory each time it services
|
||||||
* a client request.
|
* a client request.
|
||||||
* <p>
|
* <p>
|
||||||
|
* The {@link #inSession} and {@link #inTransaction} methods provide a convenient
|
||||||
|
* way to obtain a session, with or without starting a transaction, and have it
|
||||||
|
* cleaned up automatically, relieving the program of the need to explicitly
|
||||||
|
* call {@link Session#close()} and {@link Transaction#commit()}.
|
||||||
|
* <p>
|
||||||
* Depending on how Hibernate is configured, the {@code SessionFactory} itself
|
* Depending on how Hibernate is configured, the {@code SessionFactory} itself
|
||||||
* might be responsible for the lifecycle of pooled JDBC connections and
|
* might be responsible for the lifecycle of pooled JDBC connections and
|
||||||
* transactions, or it may simply act as a client for a connection pool or
|
* transactions, or it may simply act as a client for a connection pool or
|
||||||
|
@ -84,6 +90,12 @@ import jakarta.persistence.EntityManagerFactory;
|
||||||
* cleaning up} data left behind by tests.
|
* cleaning up} data left behind by tests.
|
||||||
* </ul>
|
* </ul>
|
||||||
* <p>
|
* <p>
|
||||||
|
* Finally, the factory {@linkplain #getCriteriaBuilder() provides} a
|
||||||
|
* {@link HibernateCriteriaBuilder}, an extension to the JPA-defined interface
|
||||||
|
* {@link jakarta.persistence.criteria.CriteriaBuilder}, which may be used to
|
||||||
|
* construct {@linkplain jakarta.persistence.criteria.CriteriaQuery criteria
|
||||||
|
* queries}.
|
||||||
|
* <p>
|
||||||
* Every {@code SessionFactory} is a JPA {@link EntityManagerFactory}.
|
* Every {@code SessionFactory} is a JPA {@link EntityManagerFactory}.
|
||||||
* Furthermore, when Hibernate is acting as the JPA persistence provider, the
|
* Furthermore, when Hibernate is acting as the JPA persistence provider, the
|
||||||
* method {@link EntityManagerFactory#unwrap(Class)} may be used to obtain the
|
* method {@link EntityManagerFactory#unwrap(Class)} may be used to obtain the
|
||||||
|
@ -283,6 +295,17 @@ public interface SessionFactory extends EntityManagerFactory, Referenceable, Ser
|
||||||
*/
|
*/
|
||||||
SchemaManager getSchemaManager();
|
SchemaManager getSchemaManager();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Obtain a {@link HibernateCriteriaBuilder} which may be used to
|
||||||
|
* {@linkplain HibernateCriteriaBuilder#createQuery(Class) construct}
|
||||||
|
* {@linkplain org.hibernate.query.criteria.JpaCriteriaQuery criteria
|
||||||
|
* queries}.
|
||||||
|
*
|
||||||
|
* @see SharedSessionContract#getCriteriaBuilder()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
HibernateCriteriaBuilder getCriteriaBuilder();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy this {@code SessionFactory} and release all its resources,
|
* Destroy this {@code SessionFactory} and release all its resources,
|
||||||
* including caches and connection pools.
|
* including caches and connection pools.
|
||||||
|
|
|
@ -9,8 +9,6 @@ package org.hibernate;
|
||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
import jakarta.persistence.criteria.CriteriaBuilder;
|
|
||||||
|
|
||||||
import org.hibernate.jdbc.ReturningWork;
|
import org.hibernate.jdbc.ReturningWork;
|
||||||
import org.hibernate.jdbc.Work;
|
import org.hibernate.jdbc.Work;
|
||||||
import org.hibernate.procedure.ProcedureCall;
|
import org.hibernate.procedure.ProcedureCall;
|
||||||
|
@ -181,11 +179,16 @@ public interface SharedSessionContract extends QueryProducer, Closeable, Seriali
|
||||||
void setJdbcBatchSize(Integer jdbcBatchSize);
|
void setJdbcBatchSize(Integer jdbcBatchSize);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return an instance of {@link CriteriaBuilder}.
|
* Obtain a {@link HibernateCriteriaBuilder} which may be used to
|
||||||
|
* {@linkplain HibernateCriteriaBuilder#createQuery(Class) construct}
|
||||||
|
* {@linkplain org.hibernate.query.criteria.JpaCriteriaQuery criteria
|
||||||
|
* queries}.
|
||||||
*
|
*
|
||||||
* @return an instance of CriteriaBuilder
|
* @return an instance of {@link HibernateCriteriaBuilder}
|
||||||
*
|
*
|
||||||
* @throws IllegalStateException if the session has been closed
|
* @throws IllegalStateException if the session has been closed
|
||||||
|
*
|
||||||
|
* @see SessionFactory#getCriteriaBuilder()
|
||||||
*/
|
*/
|
||||||
HibernateCriteriaBuilder getCriteriaBuilder();
|
HibernateCriteriaBuilder getCriteriaBuilder();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue