Hibernate PreInsertEvent.getSource () NoSuchMethodError

При попытке вставить вставку я получаю следующую ошибку:

java.lang.NoSuchMethodError: org.hibernate.event.PreInsertEvent.getSource () Lorg / hibernate / event / EventSource;

Я видел других людей с той же проблемой из-за несовместимости hibernate jars, но я считаю, что все правильно (согласно матрице совместимости )

Вот соответствующий раздел из моего pom.xml:

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-annotations</artifactId>
        <version>3.4.0.GA</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-commons-annotations</artifactId>
        <version>3.3.0.ga</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>3.3.1.GA</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>3.1.0.GA</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>3.4.0.GA</version>
    </dependency>

Кто-нибудь может посоветовать?

С Уважением

Марти


person Marty Pitt    schedule 19.05.2009    source источник


Ответы (3)


Я нашел решение, но не уверен, что оно правильное - кто-нибудь, у кого есть лучший вариант, посоветуйте, пожалуйста:

Добавлена ​​ссылка на cglib, и явное исключение спящего режима (было в том числе 3.2)

 <dependencies>
    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2</version>
    </dependency>
    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.3</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-annotations</artifactId>
        <version>3.4.0.GA</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-commons-annotations</artifactId>
        <version>3.3.0.ga</version>
        <exclusions>
            <exclusion>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>3.3.1.GA</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>3.1.0.GA</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>3.4.0.GA</version>
    </dependency>

    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.3</version>
    </dependency>
    <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.2.1</version>
    </dependency>
</dependencies>
person Marty Pitt    schedule 19.05.2009
comment
Я не использую Maven, но я добавил все последние зависимости вручную, и это сработало. - person Hosam Aly; 30.08.2009


Актуальная проблема для меня, когда произошла эта ошибка, заключается в

  1. Зависимости от Hibernate-core не было в моей упаковке EAR.

  2. По умолчанию он выбирал hibernate3.jar из jboss.4.2.3 /.../ lib.

  3. Просто добавляю hibernate-core-3.3.1.GA в мой список зависимостей в упаковке EAR.

  4. Уже было переопределение загрузчиков, установленных в jboss-app.xml.

  5. Исключено ядро ​​hibernate из hibernate-entitymanager-3.4.0.GA (не думайте, что это требуется, поскольку поставляемое ядро ​​будет 3.3.0.SP1 и в любом случае будет опущено).

Он работал с некоторыми исключениями некоторых уже существующих зависимостей xml-apis, ejb3-persistence и т. Д. От hibernate-core.

Наконец, основная зависимость выглядела так.

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>3.3.1.GA</version>
          <exclusions>
            <exclusion>
                <artifactId>ejb3-persistence</artifactId>
                <groupId>org.hibernate</groupId>
            </exclusion>
            <exclusion>
                <artifactId>jta</artifactId>
                <groupId>javax.transaction</groupId>
            </exclusion>
            <exclusion>
                <artifactId>persistence-api</artifactId>
                <groupId>javax.persistence</groupId>
            </exclusion>
            <exclusion>
                <groupId>xml-apis</groupId>
                <artifactId>xml-apis</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

Примечание. Я не думаю, что cglib требуется, поскольку он не имеет отношения к этому контексту.

Надеюсь, это будет полезно для кого-то.

person raksja    schedule 26.09.2012