[jboss-user] [JBoss Seam] - entityManager.persist(Object) not working?

smeaggie do-not-reply at jboss.com
Thu Mar 29 10:01:18 EDT 2007

Hello all, I have a small question I don't know if the Seam forum is the right place to post, but I use a seam managed entity manager and it's behaviour puzzles me... A very simplified sitation sketch:

data class:

  | @Entity()
  | @Name("data")
  | public class Data implements Serializable {
  |    // field declarations here (plus getters and setters)
  | }

Bean code:

  | @Name("importService")
  | @Scope(ScopeType.CONVERSATION)
  | public class ImportService implements Serializable {
  |    @In()
  |    private EntityManager entityManager;
  |    public void parse(Document d) {
  |       Data data = new Data();
  |       // Document d is an XML file, wich is parsed, all values are set in
  |       // the data object
  |       this.entityManager.persist(data);
  |       // I hoped the data would be saved by now...
  |    }
  | }
Also I have this in components.xml:

  | 	<core:managed-persistence-context name="entityManager"
  |        auto-create="true"
  |        persistence-unit-jndi-name="java:/MyEntityManagerFactory"/>
And persistence.xml:

  | <?xml version="1.0" encoding="UTF-8"?>
  | <!-- Persistence deployment descriptor for dev profile -->
  | <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="MyDBUnit">
  |     <provider>org.hibernate.ejb.HibernatePersistence</provider>
  |     <jta-data-source>java:/MyDatasource</jta-data-source>
  |     <properties>
  |       <property name="hibernate.hbm2ddl.auto" value="update"/>
  |       <property name="hibernate.cache.use_query_cache" value="true"/>
  |       <property name="hibernate.show_sql" value="true"/>
  |       <property name="jboss.entity.manager.factory.jndi.name" value="java:/MyEntityManagerFactory"/>
  |     </properties>
  |   </persistence-unit>
  | </persistence>
On deploy time, the database table Data is created perfectly, I get all the SQL statements on my console log. No problem. If I manually insert data, I can query for the data using this.entityManager.createQuery("from Data data"); even INSIDE the parse method of the bean, again I see the SQL statement in my console log. But on the entityManager.persist(data) call, there's no SQL statement executed. I surrounded the call with a try { ... } catch (Exception e) { ... } block but there are NO exceptions thrown. Just no data is saved :(

Can someone help me with this please? I really don't understand why data is not saved...!

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

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

More information about the jboss-user mailing list