Hibernate search uses Criteria api to fetch entities: {code} Criteria criteria = session .createCriteria( type ) .setCacheMode( cacheMode ) .setLockMode( LockMode.NONE ) .setCacheable( false ) .setFlushMode( FlushMode.MANUAL ) .setFetchSize( listIds.size() ) .setResultTransformer( CriteriaSpecification.DISTINCT_ROOT_ENTITY ) .add( Restrictions.in( idName, listIds ) ); {code} It sets flushMode Which leads to MANAL the following warning being logged:
{noformat} WARN org . hibernate.loader.Loader - HHH000444: Encountered request for locking however dialect reports that database prefers locking be done in a separate select (follow-on locking); results will be locked after initial query execute {noformat}
CriteriaLoader.applyLocks() has detection for LockMode.NONE, but setting LockMode using Criteria adds LockMode for alias "this" which results in check for dialect.useFollowOnLocking() and logging HHH000444. Remaining code is almost useless with LockMode.NONE so warning HHH000444 warns about nothing.
|