EntityManagerFactory null ?
gbasilico Apr 12, 2007 10:11 AMHello,
I want to access an entity from the client side, without using a session bean (If i use a session bean it works fine). I made a simple entity class :
@Entity
public class Produit implements Serializable {
@Id
private String id;
private String libelle;
private int quantiteEnStock;
public Produit() {
super();
}
public Produit(String id) {
this.id = id;
}
public Produit(String id, String libelle, int quantiteEnStock) {
this.id = id;
this.libelle = libelle;
this.quantiteEnStock = quantiteEnStock;
}
public String getLibelle() {
return libelle;
}
...
I have also made a persistence.xml, which i put in the META-INF directory :
<persistence> <persistence-unit name="Produit"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>java:/DefaultDS</jta-data-source> <properties> <property name="hibernate.hbm2ddl.auto" value="update"/> <property name="jboss.entity.manager.factory.jndi.name" value="Produit"/> </properties> </persistence-unit> </persistence>
On the client side, i have the following code :
Hashtable env = new Hashtable();
env.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
env.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
env.put("java.naming.provider.url","localhost:1099");
Context ctx = new InitialContext(env);
NamingEnumeration ne = ctx.list("");
while(ne.hasMore())
{
NameClassPair nc = (NameClassPair)ne.next();
System.out.println("Entry is ... "+nc.getName()+" -- "+nc.getClassName());
}
Object obj = ctx.lookup("Produit");
System.out.println(obj.toString());
I can see the "Produit" in the list (it's type is org.jboss.ejb3.entity.InjectedEntityManagerFactory) but the lookup returns null. I also tried with
EntityManagerFactory emf = javax.persistence.Persistence.createEntityManagerFactory("Produit");
but it doesn't work either. Do you have any clue of what i am doing wrong ? Is it at least possible ?
I'm using JBoss 4.0.5 and Eclipse 3.2.
Thanks in advance for your help.
Regards,
Guillaume Basilico