[jboss-user] [EJB 3.0] - Another NULL Pointer Exception on Entity Manager =/

Tchello do-not-reply at jboss.com
Wed Feb 11 12:21:52 EST 2009


 Hi!
 I've been looking so far on google but i could not find it.
 I'm still learning EJB3 and trying to do a simple example to discovery how it works (including annotations and application servers like JBoss 4.2.2).

 Could you help-me?
 Here is the code samples:

 A simple entity
 
  | package EJBClasses;
  | 
  | import java.io.Serializable;
  | import javax.persistence.Column;
  | import javax.persistence.Entity;
  | import javax.persistence.GeneratedValue;
  | import javax.persistence.GenerationType;
  | import javax.persistence.Id;
  | import javax.persistence.Table;
  | 
  | /**
  |  *
  |  * @author Tchello
  |  */
  | @Entity
  | @Table(name="endereco")
  | public class Endereco implements Serializable {
  |     
  |     //--------------------------------------------------------------------------
  |     private Integer codigo;
  |     private String rua;
  |     private Integer numero;
  |     private String bairro;
  |     private String cep;
  |     private String cidade;
  |     private String estado;
  |     private String pais;
  |     //--------------------------------------------------------------------------
  |     //--------------------------------------------------------------------------
  |     /** Creates a new instance of Endereco */
  |     public Endereco() {
  |     }
  |     //--------------------------------------------------------------------------
  |     @Id
  |     @GeneratedValue(strategy=GenerationType.SEQUENCE)
  |     @Column(name="codigo")
  |     public Integer getCodigo() {
  |         return codigo;
  |     }
  |     //--------------------------------------------------------------------------
  |     public void setCodigo(Integer codigo) {
  |         this.codigo = codigo;
  |     }
  |     //--------------------------------------------------------------------------
  |     @Column(name="rua")
  |     public String getRua() {
  |         return rua;
  |     }
  |     //--------------------------------------------------------------------------
  |     public void setRua(String rua) {
  |         this.rua = rua;
  |     }
  |     //--------------------------------------------------------------------------
  |     @Column(name="numero")
  |     public Integer getNumero() {
  |         return numero;
  |     }
  |     //--------------------------------------------------------------------------
  |     public void setNumero(Integer numero) {
  |         this.numero = numero;
  |     }
  |     //--------------------------------------------------------------------------
  |     @Column(name="bairro")
  |     public String getBairro() {
  |         return bairro;
  |     }
  |     //--------------------------------------------------------------------------
  |     public void setBairro(String bairro) {
  |         this.bairro = bairro;
  |     }
  |     //--------------------------------------------------------------------------
  |     @Column(name="cep")
  |     public String getCep() {
  |         return cep;
  |     }
  |     //--------------------------------------------------------------------------
  |     public void setCep(String cep) {
  |         this.cep = cep;
  |     }
  |     //--------------------------------------------------------------------------
  |     @Column(name="cidade")
  |     public String getCidade() {
  |         return cidade;
  |     }
  |     //--------------------------------------------------------------------------
  |     public void setCidade(String cidade) {
  |         this.cidade = cidade;
  |     }
  |     //--------------------------------------------------------------------------
  |     @Column(name="estado")
  |     public String getEstado() {
  |         return estado;
  |     }
  |     //--------------------------------------------------------------------------
  |     public void setEstado(String estado) {
  |         this.estado = estado;
  |     }
  |     //--------------------------------------------------------------------------
  |     @Column(name="pais")
  |     public String getPais() {
  |         return pais;
  |     }
  |     //--------------------------------------------------------------------------
  |     public void setPais(String pais) {
  |         this.pais = pais;
  |     }
  |     //--------------------------------------------------------------------------
  | }
  | 

 My Entity Manager and  interfaces:
 
  | @Stateless
  | public class ManagerBean implements Manager,ManagerRemote{
  |     
  |     @PersistenceContext(unitName="MyPostgresDS")//unitName="myunit"
  |     private EntityManager em;
  |     
  |     /** Creates a new instance of ManagerBean */
  |     public ManagerBean() {
  |     }
  |     public void salvar(){
  |         Endereco endereco = new Endereco();
  |         //endereco.setCodigo(3);
  |         endereco.setBairro("vila do fulano");
  |         endereco.setCep("1232413");
  |         endereco.setCidade("Campinas");
  |         endereco.setEstado("Sao Paulo");
  |         endereco.setNumero(123);
  |         endereco.setPais("Brasil");
  |         endereco.setRua("Rua dumal");
  |         
  |         System.out.println("Persisting...");
  |         
  |         em.getTransaction().begin();
  |         em.persist(endereco);
  |         em.getTransaction().commit();
  |     }
  | }
  | 
  | 

The main:

  | public class EntityInstructorClient {
  |     
  |   public static void main(String args[]){        
  |         System.out.println("Main...");
  |         ManagerBean bean = new ManagerBean();
  |         bean.salvar();
  |     }
  | }
  | 

 I think the error could be on xml files, what i'm not familiar yet.
 Here:
persistence.xml

  | <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
  |     <persistence-unit name="myunit" transaction-type ="JTA">
  |         <jta-data-source>java:MyPostgresDS</jta-data-source>
  |         <class>EJBClasses.ManagerBean</class>
  |         <properties>
  |             <propertie name="org.hibernate.hbm2ddl" value="create-table"/>
  |             <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
  |             <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
  |         </properties>    
  |     </persistence-unit>
  | </persistence>
  | 
jboss.xml

  | <datasources>
  |     <local-tx-datasource>
  |         <jndi-name>MyPostegresDS</jndi-name>
  |         <connection-url>jdbc/:postgresql://192.168.0.200:5432/netejb</connection-url>
  |         <driver-class>org.postgresql.Driver</driver-class>
  |         <user-name>postgres</user-name>
  |         <password>postgres</password>
  |         <min-pool-size>5</min-pool-size>
  |         <max-pool-size>20</max-pool-size>
  |         <idle-timeout-minutes>5</idle-timeout-minutes>
  |         <metadata>
  |             <type-mapping>PostgreSQL</type-mapping>
  |         </metadata>
  |     </local-tx-datasource>
  | </datasources>
  | 

 All i got is:
anonymous wrote : 
  | Exception in thread "main" java.lang.NullPointerException
  |         at EJBClasses.ManagerBean.salvar(ManagerBean.java:42)
  |         at EJBClasses.EntityInstructorClient.main(EntityInstructorClient.java:23)
  | Java Result: 1
  | 

 What am i missing? I'm trying so hard but there is so many things to learn, can someone help me?
 I am using NetBeans 5.5.1, JBoss 4.2.2 and EJB 3 (i cant change the versions).

 Thank you!

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4209161#4209161

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4209161



More information about the jboss-user mailing list