Hi there,

I'm pretty new to this, so maybe someone could help me with this.

I get the following error message when I try to create a new entry.
This is just an example database consisting of two tables Moons and Planets.

The MoonEJB contains the fields planet, moon, radius and diameter and a foreign key 
relationship to the table Planets.

When I call the function:

        /**
  |      * @ejb.interface-method view-type = "remote"
  |      * @jboss-net.web-method 
  |      * @jboss-net.wsdd-operation
  |      */    
  |     public void addMoon(String pl, String mo, int ra, int di){
  | 
  |       try {
  |         moHome = getMoonLocalHome();
  |         moHome.createMoon(pl,mo,ra,di);     
  |       } catch (Exception e) {
  |         e.printStackTrace();
  |       }
  |     }

I get the following Error Message ->
Could not create entity
  | java.sql.SQLException: Try to insert null into a non-nullable column in statement 
[INSERT INTO MOONS (PLANET, MOON, RADIUS, DIAMETER, planet) VALUES ('Earth', 
'newMoon', 1000, 2000, NULL)]

I presume the error is due to the fact that I haven't set the relationship between the 
Moon and the corresponding planet, when I create a new moon.

The MoonEJB contains the following create method:

        /**
  |      * @return
  |      * @throws CreateException
  |      * 
  |      * @ejb.create-method 
  |      */
  |     public MoonPK ejbCreateMoon(String planet, String moon, int radius, int 
diameter) throws CreateException{
  |             setPlanet(planet);
  |             setMoon(moon);
  |             setRadius(radius);
  |             setDiameter(diameter);
  |             return null;
  |     }
  |     
  |     public void ejbPostCreateMond(String planet, String moon, int radius, int 
diameter){    }

The CMP fields are defined like this:
        /**
  |      * @return
  |      * @ejb.persistent-field 
  |      * @ejb.persistence column-name = "PLANET"
  |      * @ejb.interface-method view-type = "local"
  |      */
  |     public abstract String getPlanet();
  |     public abstract void setPlanet(String planet);

and the CMR is defined as follows:
        /**
  |      * 
  |      * @return
  |      * 
  |      * @ejb.interface-method 
  |      * @ejb.relation   name = "PlanetAndMoonRelation"
  |      *                role-name = "PlanetHasMoons"
  |      *                target-role-name = "MoonsHavePlanet"
  |      *                target-ejb = "Planets"
  |      * 
  |      * @jboss.relation      fk-column = "planet"
  |      *              related-pk-field = "planet"
  |      *              fk-constraint = "true"
  |      */
  |     public abstract PlanetsLocal getPlanetRel();
  |     public abstract void setPlanetsRel(PlanetLocal planet);

Any suggestions ??

thanks
matt

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

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


-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to