programing

Oracle 10g을 사용한 후속 잠금에 대한 동면 경고

bestprogram 2023. 9. 9. 09:47

Oracle 10g을 사용한 후속 잠금에 대한 동면 경고

저는 Hibernate 4.3.0을 사용하고 있습니다.최종 / JPA 2.1, 동면 검색 4.5.0WildFly 8.0.0에서 최종 실행 중입니다.마지막. 응용 프로그램은 완전히 정상적으로 작동하지만 인덱스를 생성할 때 최대 절전 모드 경고가 표시됩니다.

WARN org.hibernate.loader.로더 - HH000444:잠금 요청이 있었지만 데이터베이스가 잠금을 선호한다는 방언 보고서는 별도의 선택(후속 잠금)으로 수행됩니다. 초기 쿼리 실행 후 결과가 잠금됩니다.

인덱스를 만드는 방법은 다음과 같습니다.

public void createIndex() throws DAOException {
    FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(this.entityManager);

    try {
        fullTextEntityManager.createIndexer(Colaborador.class)
            .purgeAllOnStart(Boolean.TRUE)
            .optimizeOnFinish(Boolean.TRUE)
            .startAndWait();
        }
        catch (InterruptedException e) {
            logger.error("Error creating index", e);
            throw new DAOException(e);
    }
}

몇 가지 검색을 해보니 경고를 억제할 수 있는 "해결책" 또는 더 나은 방법이 발견되었습니다.하지만 이것이 최선의 해결책인지는 모르겠습니다.솔루션은 확장을 제안합니다.org.hibernate.dialect.Oracle10gDialect메소드를 덮어씁니다public boolean useFollowOnLocking()돌아오다false.

다른 중요한 것: 이것은 Hibernate 버전 4.2.0 이후에만 발생합니다.파이널. 이 버전 전에는.useFollowOnLocking()방법.

새로운 방언:

import org.hibernate.dialect.Oracle10gDialect;

public class MyOracle10gDialect extends Oracle10gDialect {

    @Override
    public boolean useFollowOnLocking() {
        return false;
    }
}

나는 이 해결책여기저기서 찾았습니다.이 경고에 대해 거부된 버그 보고서도 있습니다.이 경고에 사용할 수 있는 다른 해결책을 찾지 못했습니다.

이 경고를 기록하는 것은 실수이므로 걱정할 이유가 없습니다. 무시하거나 로거 구성을 변경하여 무시해야 합니다.

HHH-9097을 개통했습니다.

언급URL : https://stackoverflow.com/questions/22712195/hibernate-warning-about-follow-on-locking-using-oracle-10g