0

Я пытаюсь развернуть весеннюю загрузку с весенними данными jpa и спящий режим для Oracle Weblogic 12c (12.2.1) с ниже зависимостями и получить ниже исключения.Weblogic 12c не использует hibnerate ORM

  • JDK 8
  • Weblogic 12.2.1
  • Spring версия загрузчика 1.4.1
  • Spring JPA данные версии 1.10.3
  • Spring ORM 4.3.3
  • спящего режима ядра, спящий режим лица менеджер 5.0.11

i define Entity Manager Factory Bean as

@Bean(name = "entitiesManagerFactory") 
    @Primary 
    public EntityManagerFactory entitiesManagerFactory() { 
     LocalContainerEntityManagerFactoryBean emf = new LocalContainerEntityManagerFactoryBean(); 
     emf.setPersistenceUnitName("DemoEntityPU"); 
     emf.setMappingResources("META-INF/orm.xml"); 
     emf.setDataSource(dataSource()); 
     emf.setPersistenceProvider(hibernatePersistenceProvider()); 
     emf.setJpaVendorAdapter(hibernateJpaVendorAdapter()); 
     emf.setPackagesToScan("com.demo.entities.entity"); 

     Properties properties = new Properties(); 

     properties.setProperty("hibernate.hbm2ddl.auto","validate"); 
     properties.setProperty("hibernate.default_schema", "demoSchema"); 
     properties.setProperty("hibernate.dialect", "org.hibernate.dialect.Oracle10gDialect"); 
     properties.setProperty("hibernate.show_sql", "false"); 
     properties.setProperty("hibernate.generate_statistics", "false"); 
     properties.setProperty("hibernate.format_sql", "true"); 
     properties.setProperty("hibernate.use_sql_comments", "false"); 
     properties.setProperty("hibernate.jdbc.batch_size", "100"); 
     properties.setProperty("hibernate.order_inserts", "true"); 
     properties.setProperty("hibernate.order_updates", "true"); 
     properties.setProperty("hibernate.connection.useUnicode", "true"); 
     properties.setProperty("hibernate.connection.charSet", "UTF-16"); 
     properties.setProperty("hibernate.connection.characterEncoding", "UTF-16"); 

     properties.setProperty("jadira.usertype.autoRegisterUserTypes", "true"); 

     properties.setProperty("jadira.usertype.javaZone", "UTC"); 
     properties.setProperty("jadira.usertype.databaseZone", "UTC"); 
     emf.setJpaProperties(properties); 

     emf.afterPropertiesSet(); 
     return emf.getObject(); 

    } 

Исключение

Caused by: java.lang.Throwable: Substituted for missing class Exception [EclipseLink-7244] (Eclipse Persistence Services - 2.6.3.v20160526-8f41838) - org.eclipse.persistence.exceptions.ValidationException 
Exception Description: An incompatible mapping has been encountered between [class com.demo.entities.entity.PhysicalServers] and [class com.demo.entities.entity.Deployment]. This usually occurs when the cardinality of a mapping does not correspond with the cardinality of its backpointer. 
     at org.eclipse.persistence.exceptions.ValidationException.invalidMapping(ValidationException.java:1296) 
     at org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.ManyToManyAccessor.process(ManyToManyAccessor.java:158) 
     at org.eclipse.persistence.internal.jpa.metadata.MetadataProject.processNonOwningRelationshipAccessors(MetadataProject.java:1581) 
     at org.eclipse.persistence.internal.jpa.metadata.MetadataProject.processStage3(MetadataProject.java:1870) 
     at org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor.processORMMetadata(MetadataProcessor.java:577) 
     at org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:607) 
     at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:1948) 
     at org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityManagerFactoryImpl(PersistenceProvider.java:347) 
     at org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityManagerFactory(PersistenceProvider.java:313) 
     at weblogic.persistence.BasePersistenceUnitInfo.initializeEntityManagerFactory(BasePersistenceUnitInfo.java:613) 
     at weblogic.persistence.BasePersistenceUnitInfo.init(BasePersistenceUnitInfo.java:201) 
     at weblogic.persistence.BaseJPAIntegrationProvider.createPersistenceUnitInfo(BaseJPAIntegrationProvider.java:54) 
     at weblogic.persistence.AbstractPersistenceUnitRegistry.storeDescriptors(AbstractPersistenceUnitRegistry.java:422) 
     at weblogic.persistence.AbstractPersistenceUnitRegistry.loadPersistenceDescriptors(AbstractPersistenceUnitRegistry.java:128) 

Моего код отлично работает на коте, но когда движение к WebLogic expcetion поднятых во время развертывания.

я не знаю, почему EclipseLink участвует, даже я определить в weblogic.xml

<wls:prefer-application-packages> 
     <wls:package-name>org.slf4j</wls:package-name> 
     <wls:package-name>com.fasterxml.classmate.*</wls:package-name> 
     <wls:package-name>com.fasterxml.jackson.*</wls:package-name> 

     <wls:package-name>javax.validation.*</wls:package-name> 
     <wls:package-name>javax.validation.bootstrap.*</wls:package-name> 
     <wls:package-name>javax.validation.constraints.*</wls:package-name> 
     <wls:package-name>javax.validation.groups.*</wls:package-name> 
     <wls:package-name>javax.validation.metadata.*</wls:package-name> 
     <wls:package-name>javax.validation.spi.*</wls:package-name> 

     <wls:package-name>javax.persistence.*</wls:package-name> 
     <wls:package-name>javax.persistence.criteria.*</wls:package-name> 
     <wls:package-name>javax.persistence.metamodel.*</wls:package-name> 
     <wls:package-name>javax.persistence.spi.*</wls:package-name> 

     <wls:package-name>org.apache.commons.*</wls:package-name> 
     <wls:package-name>org.apache.xmlbeans.*</wls:package-name> 
     <wls:package-name>org.springframework.*</wls:package-name> 

     <wls:package-name>org.hibernate.*</wls:package-name> 
     <wls:package-name>org.hibernate.validator.*</wls:package-name> 
     <wls:package-name>org.hibernate.jpa.*</wls:package-name> 
     <wls:package-name>org.hibernate.ejb.*</wls:package-name> 
     <wls:package-name>org.hibernate.annotations.*</wls:package-name> 

     <wls:package-name>org.joda.*</wls:package-name> 
     <wls:package-name>antlr.*</wls:package-name> 
    </wls:prefer-application-packages> 

но исключения подняли и использовать WebLogic EclipseLink и игнорировать мой постоянный компонент поставщика.

Любая помощь или подсказка были бы высоко оценены.

+0

У вас есть настойчивость. XML? Есть ли у него провайдер, определенный внутри него? Если у него нет определенного провайдера, WebLogic будет загружать его во время развертывания с использованием поставщика по умолчанию, с которым он поставляется, - EclipseLink. Это происходит для единиц хранения, управляемых контейнерами, но он не знает, что такое контейнер или локальный, до тех пор, пока он не загрузит их, и приложение не запросит его. – Chris

+0

@ Крис: да, это именно так, мы сначала начинаем с persistent.xml и переходим к аннотации, но не удаляем этот файл. спасибо, что спасли мой день. – AdrY

ответ

0

Привет я добавить подобную проблему

я. Комментарий:

Antlr *

и сервер был и губит

Надеются, что это поможет

Смежные вопросы