Hello,
  Working on JBoss IDE 2.0.0 BETA2 with jBPM 3.1.3, I was trying to store some 
data to my own table, instead of jbpm_variableinstance. The JUnit test ran 
perfectly, but an "org.hibernate.MappingException: Unknown entity" exception 
occurred while running on Tomcat 5.5 after deployment.
  Here goes the details:
1. the table creation script:

  | create table student (
  |  id varchar(100) not null default '',
  |  name varchar(20) default '',
  |  age int(11) default 0,
  |  primary key (id)
  | );
  | 
2. the corresponding Student classes (generated by hibernate synchronizer):

  | package dgbdatamodel;
  | ...
  |     // primary key
  |     private java.lang.String id;
  | 
  |     // fields
  |     private java.lang.String name;
  |     private java.lang.Integer age;
  | ...
  |     // getters and setters
  | 
3. the mapping file (also generated by hibernate synchronizer):

  | <?xml version="1.0"?>
  | <!DOCTYPE hibernate-mapping PUBLIC
  |     "-//Hibernate/Hibernate Mapping DTD//EN"
  |     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"; >
  | 
  | <hibernate-mapping package="dgbdatamodel">
  |     <class
  |             name="Student"
  |             table="student"
  |     >
  |             <meta attribute="sync-DAO">false</meta>
  |             <id
  |                     name="Id"
  |                     type="string"
  |                     column="id"
  |             >
  |                     <generator class="uuid.hex"/>
  |             </id>
  | 
  |             <property
  |                     name="Name"
  |                     column="name"
  |                     type="string"
  |                     not-null="false"
  |                     length="20"
  |             />
  |             <property
  |                     name="Age"
  |                     column="age"
  |                     type="integer"
  |                     not-null="false"
  |                     length="11"
  |             />
  |     </class>        
  | </hibernate-mapping>
  | 
  I used the auto-generated simple process, and added the following code to the 
MessageActionHandler.execute function:

  |             stu = new Student();
  |             stu.setName("the hell");
  |             JbpmConfiguration cfg = JbpmConfiguration.getInstance(); 
  |             JbpmContext jbpmContext = cfg.createJbpmContext();
  |             try {
  |               // Invoke persistence operations here
  |                     Session s = jbpmContext.getSession();
  |                     s.save(stu);
  |             } finally {
  |               jbpmContext.close();
  |             }
  | 
the 'stu' is a member variable of MessageActionHandler.

  I first ran the sample SimpleProcessTest as JUnit test, and got 2 students 
named "the hell" in the table student ('cos the action was called twice in the 
test). Then I used JBoss IDE to deploy the process. The deployed archive 
includes the process, MessageActionHandler, the dgbdatamodel package, 
hibernate.cfg.xml as well as Student.hbm.xml. After logging in in the browser I 
started a new 'simple' process, after input 'color' and 'size' and clicked 
"Save and Close Task" (and the action handler is called), i got

  | javax.servlet.ServletException: Error calling action method of component 
with id taskform:transitionButton
  | ...
  | root cause
  | javax.faces.FacesException: Error calling action method of component with 
id taskform:transitionButton
  | ...
  | 
  the log says sth like:

  | ...
  | 19:39:53,765 DEBUG [Services] closing service 'persistence': [EMAIL 
PROTECTED]
  | 19:39:53,765 DEBUG [DbPersistenceService] committing hibernate transaction
  | 19:39:53,781 DEBUG [DbPersistenceService] closing hibernate session
  | 19:39:53,781 ERROR [GraphElement] action threw exception: Unknown entity: 
dgbdatamodel.Student
  | org.hibernate.MappingException: Unknown entity: dgbdatamodel.Student
  |     at 
org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:610)
  |     at 
org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1246)
  | ...
  | 
  I guess the deployed version didn't include the mapping declared in 
"Student.hbm.xml" (since if I don't call "s.save(stu)" in the action handler, 
no exception was thrown).
  I searched the forum for the answer, but in vain, the closest one I got is:
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=89365 
  However, I just started learning jBPM and got stuck in here for quite a few 
days. Anyone's kind enough to give me some clues? Or what is the right way to 
do the job? Thanks a million!


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

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4059442
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to