@@ -2395,20 +2395,38 @@ public interface AvailableSettings {
2395
2395
String MERGE_ENTITY_COPY_OBSERVER = "hibernate.event.merge.entity_copy_observer" ;
2396
2396
2397
2397
/**
2398
- * By default, {@linkplain jakarta.persistence.criteria.CriteriaBuilder criteria}
2399
- * queries use bind parameters for any value passed via the JPA Criteria API.
2398
+ * By default, a {@linkplain jakarta.persistence.criteria.CriteriaBuilder criteria
2399
+ * query} produces SQL with a JDBC bind parameter for any value specified via the
2400
+ * criteria query API, except when the value is passed via
2401
+ * {@link jakarta.persistence.criteria.CriteriaBuilder#literal(Object)}, in which
2402
+ * case the value is "inlined" as a SQL literal.
2403
+ * <p>
2404
+ * This setting may be used to override this default behavior:
2400
2405
* <ul>
2401
- * <li>The {@link org.hibernate.query.criteria.ValueHandlingMode#BIND "bind"}
2402
- * mode uses bind variables for any literal value.
2403
- * <li>The {@link org.hibernate.query.criteria.ValueHandlingMode#INLINE "inline"}
2406
+ * <li>the {@link org.hibernate.query.criteria.ValueHandlingMode#BIND "bind"}
2407
+ * mode uses bind parameters to pass such values to JDBC, but
2408
+ * <li>the {@link org.hibernate.query.criteria.ValueHandlingMode#INLINE "inline"}
2404
2409
* mode inlines values as SQL literals.
2405
2410
* </ul>
2406
2411
* <p>
2407
- * The default value is {@link org.hibernate.query.criteria.ValueHandlingMode#BIND}.
2412
+ * In both modes:
2413
+ * <ul>
2414
+ * <li>values specified using {@code literal()} are inlined, and
2415
+ * <li>values specified using
2416
+ * {@link jakarta.persistence.criteria.CriteriaBuilder#parameter(Class)} to create a
2417
+ * {@link jakarta.persistence.criteria.ParameterExpression criteria parameter} and
2418
+ * {@link jakarta.persistence.Query#setParameter(jakarta.persistence.Parameter,Object)}
2419
+ * to specify its argument are passed to JDBC using a bind parameter.
2420
+ * </ul>
2421
+ * <p>
2422
+ * The default mode is {@link org.hibernate.query.criteria.ValueHandlingMode#BIND}.
2408
2423
*
2409
2424
* @since 6.0.0
2410
2425
*
2411
2426
* @see org.hibernate.query.criteria.ValueHandlingMode
2427
+ * @see jakarta.persistence.criteria.CriteriaBuilder#literal(Object)
2428
+ * @see jakarta.persistence.criteria.CriteriaBuilder#parameter(Class)
2429
+ * @see org.hibernate.query.criteria.HibernateCriteriaBuilder#value(Object)
2412
2430
*/
2413
2431
String CRITERIA_VALUE_HANDLING_MODE = "hibernate.criteria.value_handling_mode" ;
2414
2432
0 commit comments