Announcement

Collapse
No announcement yet.

EntityManager wirft NullpointerException: JBoss-Hibernate

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • EntityManager wirft NullpointerException: JBoss-Hibernate

    Hallo NG!

    Ich bin Anfänger in JEE3.0 und versuche gerade meine erste Entity Bean
    zu entwickeln.
    Dazu habe ich eine Session Bean und eine Entity Bean; ich benutze
    JBoss 4.0.5 und Hibernate als Persistence Provider, versuche eine
    Connection zu einer Oracle-Datenbank aufzubauen und entwickle mit
    NetBeans5.5.


    Meine Persistence Unit ist wie folgt in der persistence.xml
    beschrieben:
    Code:
    <?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="emu" transaction-type="JTA"> 
        <jta-data-source>java:db</jta-data-source> 
        <properties/> 
      </persistence-unit> 
    </persistence>

    Meine Data-source ist wie folgt in der jboss-ds.xml erklärt:
    Code:
    <?xml version="1.0" encoding="UTF-8"?> 
    <datasources> 
      <local-tx-datasource> 
        <jndi-name>db</jndi-name> 
        <connection- 
    url>jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(HOST=11.11.11.33) 
    (PROTOCOL=tcp)(PORT=1521))(CONNECT_DATA=(SID=xyz)))</connection-url> 
        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> 
        <user-name>userid</user-name> 
        <password>pass</password> 
        <min-pool-size>5</min-pool-size> 
        <max-pool-size>20</max-pool-size> 
        <idle-timeout-minutes>5</idle-timeout-minutes> 
      </local-tx-datasource> 
    </datasources>
    In meinem Session Bean deklariere ich den EntityManager:
    Code:
    @PersistenceContext(unitName = "emu") 
        private EntityManager entMan;
    Wenn ich nun versuche auf en EntityManager zuzugreifen wird an der
    folgenden Stelle eine NullPointerException geworfen ("Dateinamen" ist
    der Name meines Entity-Beans):
    Code:
    Dateinamen dat = new Dateinamen(); 
    entMan.persist(dat); <=== hier wird die NullpointerException 
    geworfen!!
    Habs mir auch schon genauer angeschaut, entMan ist wirklich
    null.


    In der jmx-console wird die Persistence Unit richtig angezeigt. Beim
    deployen meines Projekts (mit NetBeans5.5) scheint auch die Datenbank
    gefunden zu werden:
    11:29:38,401 INFO [InjectedDataSourceConnectionProvider] Using
    provided datasource
    11:29:38,401 INFO [SettingsFactory] RDBMS: Oracle, version: Oracle
    Database 10g Release 10.2.0.2.0 - 64bit Production
    11:29:38,401 INFO [SettingsFactory] JDBC driver: Oracle JDBC driver,
    version: 10.1.0.4.0
    11:29:38,401 INFO [Dialect] Using dialect:
    org.hibernate.dialect.Oracle9Dialect


    Was mache ich falsch, fehlen evtl. noch Konfigurationen? Wieso ist der
    EntityManager NULL??


    Vielen Dank für Eure Mithilfe!!


    Beste Grüße
    Christoph

  • #2
    Hi,
    was für eine Art von SessionBean ist es bei dir denn? Außerdem meine ich das die jta-data-source in deiner persistence xml so:
    <jta-data-source>java:/db</jta-data-source>
    aussehen sollte.

    Besten Gruß
    Ariton

    Comment

    Working...
    X