Hibernate 3.0.5 & JBoss 4.0.2, NullPointerException
orko May 31, 2005 6:32 AMHi,
I'm searching for a persistence framework to use, and actually I try to test hibernate.
My problem at the moment is that i get a NullPointerException if I make a lookup.
In the JNDI VIEW page i found the entry: +- SessionFactory (class: org.hibernate.impl.SessionFactoryImpl)
But in the log file I found these entries, and i don't know what to do now.
server.log: ... [org.hibernate.impl.SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured ... [org.jboss.hibernate.jmx.Hibernate] SessionFactory successfully built and bound into JNDI [SessionFactory] ...
hibernate-service.xml: <server> <mbean code="org.jboss.hibernate.jmx.Hibernate" name="jboss.har:service=Hibernate"> <attribute name="DatasourceName">java:/DefaultDS</attribute> <attribute name="Dialect">org.hibernate.dialect.Oracle9Dialect</attribute> <property name="hibernate.default_schema">LAGERDBA</property> <property name="connection.pool_size">1</property> <property name="show_sql">true</property> <attribute name="SessionFactoryName">SessionFactory</attribute> <attribute name="CacheProviderClass">org.hibernate.cache.HashtableCacheProvider</attribute> <attribute name="ShowSqlEnabled">true</attribute> </mbean> </server>
UserManager.java
...
InitialContext ctx = new InitialContext();
SessionFactory factory;
factory = (SessionFactory) ctx.lookup("SessionFactory");
Session hsession = factory.openSession();
Transaction tx = hsession.beginTransaction();
...
Sample Hibernate File
AcUser.java
package de.psb_gmbh.main.business.persistence.hibernate;
import java.util.Set;
public class AcUser implements java.io.Serializable {
// Fields
private String UserId;
private AcGroup AcGroup;
private String LoginName;
private String Name;
private String Password;
private Integer CheckCount;
private Set<AcUserToGroup> SetOfAcUserToGroup;
// Constructors
public AcUser() {
}
// Property accessors
public String getUserId() {
return this.UserId;
}
public void setUserId(String UserId) {
this.UserId = UserId;
}
public AcGroup getAcGroup() {
return this.AcGroup;
}
public void setAcGroup(AcGroup AcGroup) {
this.AcGroup = AcGroup;
}
public String getLoginName() {
return this.LoginName;
}
public void setLoginName(String LoginName) {
this.LoginName = LoginName;
}
public String getName() {
return this.Name;
}
public void setName(String Name) {
this.Name = Name;
}
public String getPassword() {
return this.Password;
}
public void setPassword(String Password) {
this.Password = Password;
}
public Integer getCheckCount() {
return this.CheckCount;
}
public void setCheckCount(Integer CheckCount) {
this.CheckCount = CheckCount;
}
public Set<AcUserToGroup> getSetOfAcUserToGroup() {
return this.SetOfAcUserToGroup;
}
public void setSetOfAcUserToGroup(Set<AcUserToGroup> setOfAcUserToGroup) {
this.SetOfAcUserToGroup = setOfAcUserToGroup;
}
}AcUser.hbm.xml <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="de.psb_gmbh.main.business.persistence.hibernate.AcUser" table="AC_USER" schema="LAGERDBA"> <id name="UserId"> <column name="USER_ID"/> <generator class="assigned" /> </id> <many-to-one name="AcGroup" class="de.psb_gmbh.main.business.persistence.hibernate.AcGroup"> <column name="MASTER_GROUP_ID"/> </many-to-one> <property name="LoginName"> <column name="LOGIN_NAME"/> </property> <property name="Name"> <column name="NAME"/> </property> <property name="Password"> <column name="PASSWORD"/> </property> <property name="CheckCount"> <column name="CHECK_COUNT"/> </property> <set name="SetOfAcUserToGroup"> <key> <column name="USER_ID" /> </key> <one-to-many class="de.psb_gmbh.main.business.persistence.hibernate.AcUserToGroup" /> </set> </class> </hibernate-mapping>
I'm using
- JBoss 4.0.2
- Hibernate 3.0.5
- Java 5.0
- Oracle DB 9.2
- Windows XP SP1
- Eclipse 3.1M7 with MyEclipse 3.8.4, JBoss IDE1.5M1, XML Spy Pro 2005
THANKS!