Как pointcut спящий режим, когда я использую Spring aop?

Я думаю, что в качестве точки входа в сессию, но, похоже, не удалось. Моя конфигурация? Вот мой весенний конфиг.



           
        
    

follow - мой класс

    public Object aroundAdvice(ProceedingJoinPoint pjp) throws Throwable {
    System.out.println("aroundAdvice");
    String hql = (String) pjp.getArgs()[0];
    if(hql.indexOf("update") > -1){
        StringBuilder sb = new StringBuilder();
        int temp = hql.indexOf("where");
        if(temp > -1){
            sb.append(hql.subSequence(0, temp));
            sb.append(",updateDate = :updateDate ");
            sb.append(hql.substring(temp));
        }else{
            sb.append(",updateDate = :updateDate ");
        }
        hql = sb.toString();
        mark = true;
    }
    Object retVal = pjp.proceed(new Object[] { hql });
    return retVal;
}
0
nl ja de

1 ответы

Если вы не используете время загрузки во времени или компиляция во времени , Spring AOP - это прокси-сервер -исходя из. Это означает, что вы можете указывать только объекты объектов, созданных Spring (например, Spring beans). Вы пытаетесь указывать внутренний объект Hibernate, который, скорее всего, создается внутри спящего режима, используя обычную конструкцию SharedSessionContract() обычного .

0
добавлено
Spring Framework and more
Spring Framework and more
839 участник(ов)

чат о spring framework и связанных с ним технологиях. We're discussing: job, tech questions, beer meet up/networking: tech review ,LinkedIn skills, SOF q/a raise up& etc. languages: russian,java,eng.