Как я могу использовать Hibernate вместо Eclipselink в WebLogic? - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть приложение на сервере jboss, и я на самом деле использую hibernate-jpa-2.0, когда я попытался запустить это приложение на weblogic, я увидел ошибку из eclipselink о аннотациях JPA.Я думаю, что в этом случае у меня есть два варианта: изменить приложение на eclipselink ИЛИ использовать hibernate в weblogic.Вопрос в том, как я могу объявить в моем weblogic-application.xml / weblogic.xml использовать hibernate, а не eclipselink.Это возможно ?Происходящая ошибка выглядит следующим образом:

Заменен отсутствующим классом Exception [EclipseLink-7298] (Eclipse Persistence Services - 2.6.5.v20170607-b3d05bd) - org.eclipse.persistence.exceptions.ValidationException Exception Description: отображение [associado] из встроенного класса ID [class br.com.project.web.model.associate.pk.AssociateMaintainPK] является недопустимым отображением для этого класса.Встраиваемый класс, который используется со спецификацией встроенного идентификатора (атрибут [.AssociateMaintainPK] из источника [class br.com.project.web.model.associate.AssociateMaintain]) может содержать только базовые сопоставления.Удалите неосновное сопоставление или измените спецификацию встроенного идентификатора источника, который будет встроен.

1 Ответ

0 голосов
/ 13 декабря 2018

Вам нужно будет ссылаться на библиотеки hibernate из вашего дескриптора развертывания weblogic (либо weblogic.xml, если ваш пакет представляет собой war, либо weblogic-application.xml для ear).Разверните библиотеки, размещенные вместе с вашим приложением, или как набор общих библиотек, если они используются несколькими приложениями, развернутыми на одном экземпляре weblogic (это решение, которое я использую).Таким образом, WLS будет использовать библиотеку, на которую ссылаются, вместо реализации по умолчанию, связанной с weblogic (EclipseLink for JPA api).

<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd 
    http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.8/weblogic-web-app.xsd">
... config stuff
<!-- hibernate orm -->
<library-ref>
    <library-name>hibernate-core</library-name>
</library-ref>
<library-ref>
    <library-name>hibernate-entitymanager</library-name>
</library-ref>
<library-ref>
    <library-name>hibernate-envers</library-name>
</library-ref>
<library-ref>
    <library-name>hibernate-jpa-2.1-api</library-name>
</library-ref>
<!-- hibernate orm deps -->
<library-ref>
    <library-name>dom4j</library-name>
</library-ref>
<library-ref>
    <library-name>hibernate-commons-annotations</library-name>
</library-ref>
<library-ref>
    <library-name>jboss-logging</library-name>
</library-ref>
<library-ref>
    <library-name>jboss-logging-annotations</library-name>
</library-ref>
<library-ref>
    <library-name>jandex</library-name>
</library-ref>
<library-ref>
    <library-name>javassist</library-name>
</library-ref>
...