какой класс hibernate будет поддерживать jpa CriteriaBuilder? - PullRequest
0 голосов
/ 13 января 2011

Мы успешно внедрили Spring, hibernate + jpa в наше приложение с помощью Xa transcation.но мы пытаемся реализовать критерии в нашем приложении, мы сталкиваемся с одной ошибкой,

java.lang.NoSuchMethodError: javax.persistence.EntityManager.getCriteriaBuilder ()

Итак, не могли бы вы сказать, какие классы реализации используют в Hybernate для интерфейса javax.persistence.criteria.CriteriaBuilder? перечислил несколько jar-файлов, которые мы используем,

hibernate 3.3, jpa 2.0
Spring-Orm 3.0.2 Зимуют-EntityManager

Обновление:

Я изменил мой hibernate-jar на (hibernate-core-3.6.0.CR2, hibernate-entitymanager-3.6.0.CR2 версии), но все еще происходит то же исключение,

CriteriaBuilder criteriaBuilder= this.getJpaTemplate().getEntityManagerFactory().getCriteriaBuilder();

В моем конфигурационном файле:

<beans:bean id="jpaTemplate" class="org.springframework.orm.jpa.JpaTemplate">
    <beans:property name="entityManagerFactory">
        <beans:ref bean="entityManagerFactory" />
    </beans:property>
</beans:bean>


<beans:bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <!-- added by shiju  for getting atomoikas xa datasource-->
    <beans: property name="dataSource">
        <beans: ref bean="dataSource"/>
    </beans: property>
    <beans: property name="persistenceUnitName" value="payhub" />
    <beans: property name="jpaVendorAdapter">
        <beans:bean
            class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <beans: property name="generateDdl" value="false" />
            <beans: property name="showSql" value="true" />
            <beans: property name="databasePlatform" value="${database.target}" />
        </beans:bean>
    </beans: property>
    <beans: property name="persistenceXmlLocation">
        <beans:value>classpath:META-INF/persistence.xml</beans:value>
    </beans:property>
</beans:bean>

java.lang.NoSuchMethodError: javax.persistence.EntityManagerFactory.getCriteriaBuilder () Ljavax / persistence / attribute / CriteriaBuilder; ...

Не могли бы вы дать другое решение?

Ответы [ 3 ]

1 голос
/ 13 января 2011

Я почти уверен, что Hibernate 3.3 не поддерживает JPA 2. Вам нужно будет обновить его до более позднего (например, 3.6)

0 голосов
/ 12 июля 2011

Попробуйте использовать Hibernate 3.6.3 с JPA 2.0

0 голосов
/ 10 апреля 2011

java.lang.NoSuchMethodError: javax.persistence.EntityManagerFactory.getCriteriaBuilder ()

Maya,

getCriteriaBuilder () должен вызываться для entityManager, а не для entityManagerFactory.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...