On Thu, 2003-09-25 at 00:07, Kevin Norton wrote:
> I have put in about 3 days worth of struggling to use Xdoclet. Need basic 
> beginner help.
> 
> I can get my Entity Bean to launch and I can get a handle to the home 
> interface by using the generated Util Class. But when I try to call my 
> create method I get the following error.
> 
> javax.ejb.CreateException: Could not create entity:java.sql.SQLException: 
> Column not found: DESC in statement [INSERT INTO ROLES (name, desc, 
> comments) VALUES ('Kevin', 'All', 'Everyone')] at 
> org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.insertEntity(JDBCCreateEntityCommand.java:199
> 
> My Base Bean is as follows. Any pointer and help as to why I'm getting this 
> error would be greatly appreciated and have much impact on how much more 
> time I put into learning xdoclet.

At a guess, I'd say it's not really an XDoclet problem nor even an EJB
problem, at least not exactly.  It looks to me more like a SQL problem -
"desc" is a reserved word (as in "SELECT foo FROM bar ORDER BY bub
DESC"), so I reckon your database is objecting to the SQL that JBoss'
CMP engine has generated for the create method.  Try renaming your
field/column to "description" rather than "desc" and see if that works
any better.


Andrew.


> Thanks...
> 
> package test.ejb;
> 
> import test.interfaces.*;
> import javax.ejb.EntityBean;
> import javax.ejb.CreateException;
> 
> 
> /**
> * @ejb:bean
> *      name="Roles"
> *      type="CMP"
> *      view-type="local"
> *      local-jndi-name="test.interfaces.RolesLocalHome"
> *      schema="Roles"
> *
> * @ejb.util generate="physical"
> * @ejb.finder signature="java.util.Collection findAll()"
> * @ejb:value-object name="Roles" match="*"
> *
> */
> public abstract class RolesBean implements EntityBean
> {
> 
>     /**
>      * @ejb.pk-field
>      * @ejb.persistent-field
>      * @ejb.persistence
>      *      column-name="NAME"
>      *      jdbc-type="VARCHAR"
>      *      sql-type="varchar(255)"
>      * @ejb.interface-method
>      */
>     public abstract String getName();
> 
>     public abstract void setName(String name);
>     /**
>      * @ejb:interface-method
>      * @ejb:persistent-field
>      * @ejb.persistence
>      *      column-name="desc"
>      *      jdbc-type="VARCHAR"
>      *      sql-type="varchar(255)"
>      *  @jboss.column-name name="desc"
>      *  @jboss.sql-type type = "varchar(255)"
>      *  @jboss.jdbc-type type = "VARCHAR"
>      */
>     public abstract String getDesc();
> 
>     public abstract void setDesc(String desc);
>     /**
>      * @ejb:interface-method
>      * @ejb:persistent-field
>      * @ejb.persistence
>      *      column-name="comments"
>      *      jdbc-type="VARCHAR"
>      *      sql-type="varchar(255)"
>      *  @jboss.column-name name="comments"
>      *  @jboss.sql-type type = "varchar(255)"
>      *  @jboss.jdbc-type type = "VARCHAR"
>      */
>     public abstract String getComments();
> 
>     public abstract void setComments(String comments);
> 
>     /**
>      * @ejb.create-method
>      */
>     public RolesPK ejbCreate(String name,String desc,String comments )
>         throws CreateException
>     {
>         setName(name);
>         setDesc(desc);
>         setComments(comments);
>         return null;
>     }
>     public void ejbPostCreate(String name,String desc, String comments  )
>         throws CreateException {}
> }



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to