Java - integracion spring y jpa

 
Vista:

integracion spring y jpa

Publicado por jacinto (2 intervenciones) el 27/05/2008 20:25:27
Estoy creando una aplicacion web con netbeans, y estoy intentando integrar Spring y JPA, atacando a una BBDD oracle 10.2
Paso a mostrar el codigo de aplicationContext.xml y otros archivos de configuración:

APLICATION CONTEXT

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerE ntityManagerFactoryBean">
<property name="persistenceUnitName" value="EnterpriseSanea-warPU"/>
<property name="dataSource" ref="dataSource"/>
<property name="loadTimeWeaver" class="org.springframework.instrument.classloading .InstrumentationLoadTimeWeaver"/>
<property name="jpaVendorAdapter" ref="vendorAdapter"/>
</bean>

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverM anagerDataSource">
<property name="driverClassName" value="oracle.jdbc.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:saneaBD"/>
<property name="userName" value="*****"/>
<property name="password" value="*****"/>
</bean>

<bean id="vendorAdapter" class="org.springframework.orm.jpa.vendor.OracleTo pLinkJpaVendorAdapter">
<property name="databasePlatform" value="oracle.toplink.essentials.internal.database access.Platform" />
<property name="showSql" value="true" />
</bean>


<bean class="org.springframework.orm.jpa.support.Persist enceAnnotationBeanPostProcessor"/>
<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTran sactionManager" />
<tx:annotation-driven />
<context:annotation-config/>
<aop:aspectj-autoproxy/>

<bean class="pruebas.PoblacionInventorySystem"/>

</beans>

PERSISTENCE.XML

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="EnterpriseSanea-warPU" transaction-type="JTA">
<jta-data-source>saneaDB</jta-data-source>
<properties/>
</persistence-unit>
</persistence>

MI CLASE CON EL BEAN DECLARADO

package pruebas;
import java.math.BigDecimal;
import sanea.entities.*;
import javax.persistence.*;
import org.springframework.transaction.annotation.Transac tional;
/**
* @author ACF
*/
@Transactional
public class PoblacionInventorySystem {
@PersistenceContext(unitName = "EnterpriseSanea-warPU")
EntityManager em;
public void addPoblacion(long COORDX, long COORDY, BigDecimal ID, String NOMBRE) {
Object pob = new Poblacion (COORDX, COORDY, ID, NOMBRE);
em.persist(pob);
}
}

El resto de clases son autogeneradas (el mapeo de entidades y eso)
Ahora he hecho una clase main para ver si puedo añadir una población con el bean PoblacionInventorySystem (lo cual no se si es una barbaridad pero weno)

package pruebas;
import java.math.BigDecimal;

public class ClaseAñadePob {
public static void main(String[] args) {
long COORDX=123;
long COORDY=45;
BigDecimal ID = new BigDecimal(12345);
String NOMBRE="pueblo";
PoblacionInventorySystem pobInv= new PoblacionInventorySystem();
pobInv.addPoblacion(COORDX, COORDY, ID, NOMBRE); //metodo del bean PoblacionInventorySystem que llama a em.persist(....)
}
}

y el error que me da, la consola, es el siguiente:

init:
deps-module-jar:
deps-ear-jar:
deps-jar:
compile-single:
run-main:
Exception in thread "main" java.lang.NullPointerException
at pruebas.PoblacionInventorySystem.addPoblacion(Pobl acionInventorySystem.java:21)
at pruebas.ClaseAñadePob.main(ClaseAñadePob.java:20)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)

Realmente no se si lo que estoy intentando hacer en el main se puede pero lo que quiero es probar que mi aplication context y el resto funciona si no puedo probarlo asi Alguna sugerencia, falta algo por configurar???
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder