spring jpa eclipselink - extern geänderte Daten werden nicht gelesen

Dieses Thema spring jpa eclipselink - extern geänderte Daten werden nicht gelesen im Forum "Data Tier" wurde erstellt von hunter3, 3. Apr. 2014.

Thema: spring jpa eclipselink - extern geänderte Daten werden nicht gelesen Hallo, ich arbeite an einem standalone Spring Programm. Es basiert auf einer Oracle Datenbank die mit Eclipselink...

  1. Hallo,

    ich arbeite an einem standalone Spring Programm. Es basiert auf einer Oracle Datenbank die mit Eclipselink jpa angesprochen wird.

    Wenn ich ein Objekt einlese ist es erstmal korrekt. Wenn ich dann mit einem anderen Programm eine Änderung in der Datanbank mache, und das Objekt neu einlese, dann bekomme ich die alten, ungeänderten Daten zurück. mBeebde ich das Programm und starte es erneut, dann bekomme ich die aktuellen Daten.

    Ich habe schon eine Menge ausprobiert. Vor dem Einlesen oder nach dem Speichern flush, clear oder refresh von EntityManager aufgerufen. Aber es bleibt dabei. Mein Programm bekommt keine externen Änderungen der Datenbank mit.

    Eclipselink weaving ist ausgeschaltet. Stattdesen wird der SpringLoadTimeWeaver verwendet.

    So sieht die Definition von EntityManagerFactory und TransactionManager aus:
    Code (Text):


     <tx:annotation-driven transaction-manager = "transactionManager" proxy-target-class="true"  />
         
    <bean id="transactionManager"
              class="org.springframework.orm.jpa.JpaTransactionManager"
              p:entityManagerFactory-ref="entityManagerFactory"/>
     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="oracle.jdbc.OracleDriver" />
        <property name="url" value="jdbc:oracle:thin:@localhost:1521:far9" />
        <property name="username" value="xxxxx"/>
        <property name="password" value="xxxxx"/>
       </bean>


    <bean id="entityManagerFactory"
              class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
                <property name="persistenceUnitName" value="far"/>
                <property name="jpaPropertyMap">
                    <props>
                        <prop key="eclipselink.weaving">false</prop>
                    </props>
                </property>

                <property name="loadTimeWeaver">
                    <bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver">
                    </bean>
                </property>
               
                <property name="jpaVendorAdapter">  
                    <bean
                        class="org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter">  
                            <property name="showSql" value="false"/>
                            <property name="generateDdl" value="false"/>
                            <property name="database" value="ORACLE"/>
                   
                    </bean>
                </property>  
                <property name="jpaDialect">
                    <bean class="org.springframework.orm.jpa.vendor.EclipseLinkJpaDialect" />
                </property>
        </bean>

     
    hunter3
     
  2. Vielleicht helfen dir diese Java-Grundlagen weiter --> *Klick*
  3. Erledigt!

    Ich hatte ein "Versionsdurcheinander" der Spring jars. Nun alles auf 4.0.1 und alles funzt!