Hallo evryone , I have a probelm with my J2EE Application and JBOSS
the problem is i use xdochlet to generate the id for my EJB ,
wenn i try to create an EJB JbOSS throw an Exception:
| 23:44:35,132 ERROR [ProjectManagerBean] Could not create
entity:java.sql.SQLExce
| ption: Try to insert null into a non-nullable column: column: ID table:
PROJECT
| in statement [INSERT INTO PROJECT (name, url) VALUES (?, ?)]
here is my EJB:
| /*
| * Created on 31.12.2004
| *
| */
| package de.tuberlin.ivs.vspj.pvt.entity.ejb;
|
| import java.rmi.RemoteException;
| import java.util.Collection;
|
| import javax.ejb.CreateException;
| import javax.ejb.EJBException;
| import javax.ejb.EntityBean;
| import javax.ejb.EntityContext;
| import javax.ejb.RemoveException;
|
| import de.tuberlin.ivs.vspj.pvt.entity.Project;
|
| /**
| * A ProjectBean is an CMP-implementation of the
<code>Project</code>-interface.
| *
| * @author Mohamed Osman
| * @version $Revision: 1.1.1.1 $
| *
| * @ejb.bean name = "Project"
| * display-name = "TopicProject EJB"
| * description = "Represents a Project"
| * type = "CMP"
| * cmp-version = "2.x"
| * view-type = "local"
| * local-jndi-name = "ejb/ProjectLocal"
| * local-business-interface =
"de.tuberlin.ivs.vspj.pvt.entity.Project"
| * primkey-field = "id"
| *
| *
| * @ejb.finder signature="java.util.Collection findAll()"
| * unchecked="true"
| * @ejb.value-object
| * implements =
"de.tuberlin.ivs.vspj.pvt.entity.Project"
| *
| */
| public abstract class ProjectBean implements EntityBean, Project {
|
| /**
| * Get the id of the project.
| *
| * @ejb.pk-field
| * @ejb.persistence
| * @ejb.interface-method
| * @jboss.persistence auto-increment = "true"
| * @return the id of the project
| */
| public abstract Integer getId();
| /**
| * Set the id of the project.
| *
| * @param id the id of the project
| */
| public abstract void setId(Integer id);
|
| /**
| * Get the name of this project.
| *
| * @ejb.persistence
| * @ejb.interface-method
| * @return the name of the project
| */
| public abstract String getName();
| /**
| * Set the name of the project.
| *
| * @ejb.interface-method
| * @param name the name of the project
| */
| public abstract void setName(String name);
|
| /**
| * Get the url of the project.
| *
| * @ejb.persistence
| * @ejb.interface-method
| * @return the url of this project
| */
| public abstract String getUrl();
| /**
| * Set the url of the project.
| *
| * @ejb.interface-method
| * @param url The url of the project.
| */
| public abstract void setUrl(String url);
|
| /* *//**
| *
| * Get the publications of the project with the given id.
| * @ejb.interface-method
| * @ejb.relation name = "ProjPubs"
| * cascade-delete = "no"
| * role-name =
"Project-has-Publications"
| * target-ejb =
"Publication"
| * @jboss.relation-table create-table = "true"
| * table-name =
"ProjPubs"
| * @jboss.relation fk-column = "id"
| *
related-pk-field = "id"
| *
| * @param id the id of the project.
| * @return the publications of the project with the given id.
| *//*
| public abstract Collection getPublications() ;*/
|
| /**
| * Creates an instance of a new Project.
| * Returns the primary key of the new entity or null if cmp is used.
| *
| * @ejb.create-method
| * @param name the name of the project.
| * @param url the url of the project.
| * @return The local Interface of the ejb.
| * @throws CreateException If server failed to create entity.
| */
| public Integer ejbCreate(String name, String url) throws
CreateException {
| setName(name);
| setUrl(url);
| return null;
| }
|
| /**
| * Does nothing.
| * @param name The name of the project.
| * @param url The url of the project.
| * @throws CreateException If server failed to create the entity.
| */
| public void ejbPostCreate(String name, String url)
| throws CreateException {
| }
|
|
| /**
| * Sets the EntityContext.
| * @param ctx The EntityContext set by the server.
| * @throws EJBException If a general error occurs.
| * @throws RemoteException If an Error occurs during remote method
invocation.
| */
| public void setEntityContext(EntityContext ctx) throws
EJBException,RemoteException {}
| /**
| * Unsets the EntityContext.
| * @throws EJBException If a general error occurs.
| * @throws RemoteException If an Error occurs during remote method
invocation.
| */
| public void unsetEntityContext() throws EJBException, RemoteException {}
| /**
| * Removes the project from persistent storage.
| * @throws RemoveException If an error occurs during removal of the
project.
| * @throws EJBException If a general error occurs.
| * @throws RemoteException If an Error occurs during remote method
invocation.
| */
| public void ejbRemove() throws RemoveException,
EJBException,RemoteException {}
| /**
| * @see javax.ejb.EntityBean#ejbActivate()
| */
| public void ejbActivate() throws EJBException, RemoteException { }
| /**
| * @see javax.ejb.EntityBean#ejbPassivate()
| */
| public void ejbPassivate() throws EJBException, RemoteException { }
| /**
| * @see javax.ejb.EntityBean#ejbLoad()
| */
| public void ejbLoad() throws EJBException, RemoteException { }
| /**
| * @see javax.ejb.EntityBean#ejbStore()
| */
| public void ejbStore() throws EJBException, RemoteException { }
| }
|
and here is the standardjbosscmp-jdbc.xml :
| <jbosscmp-jdbc>
|
| <defaults>
| <datasource>java:/DefaultDS</datasource>
| <!-- optional since 4.0 <datasource-mapping>Hypersonic
SQL</datasource-mapping> -->
|
| <create-table>true</create-table>
| <remove-table>false</remove-table>
| <read-only>false</read-only>
| <read-time-out>300000</read-time-out>
| <row-locking>false</row-locking>
| <pk-constraint>true</pk-constraint>
| <fk-constraint>false</fk-constraint>
| <preferred-relation-mapping>foreign-key</preferred-relation-mapping>
| <read-ahead>
| <strategy>on-load</strategy>
| <page-size>1000</page-size>
| <eager-load-group>*</eager-load-group>
| </read-ahead>
| <list-cache-max>1000</list-cache-max>
| <clean-read-ahead-on-load>false</clean-read-ahead-on-load>
|
| <unknown-pk>
|
<key-generator-factory>UUIDKeyGeneratorFactory</key-generator-factory>
| <unknown-pk-class>java.lang.String</unknown-pk-class>
| <jdbc-type>VARCHAR</jdbc-type>
| <sql-type>VARCHAR(32)</sql-type>
| </unknown-pk>
|
| <entity-command name="hsqldb-fetch-key"/>
|
<ql-compiler>org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLCompiler</ql-compiler>
| </defaults>
| ...
|
please i need your help.
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3862273#3862273
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3862273
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user