Dear Alexey Loubyansky,
I too having same problem actually i thought that i solved but it works due to i
created another primary key in second table.
userid is Primary key for One table and Foreign Key for 2nd table.I created the one
more Primary key in second table(sem) than i can store info from registration form but
when i want to use foreign key of second table to store info it does't work.
Servlet Code:
beanRemote =
home.create(fname,lname,dob,sex,userid,password,street,city,zipc,phone,email );
db = home.findByPrimaryKey(userid);
beanRemotes = homes.create(userid,dept,mno,sem );
dbs = homes.findByPrimaryKey(sem);
private boolean checkUSERID ( String userid, InitialContext context )
throws NamingException {
Object object = context.lookup("RegistrationEjb");
RegistrationHome home = ( RegistrationHome )
PortableRemoteObject
.narrow ( object, RegistrationHome.class );
try {
System.out.println("");
Registration data = home.findByPrimaryKey( userid );
if ( data!=null ) {
if ( data.getUserid().equals( userid ) ) {
return true;
}
} else {
return false;
}
} catch ( Exception exception ) {
return false;
}
return true;
}
private boolean checkSEM ( String sem, InitialContext context )
throws NamingException {
Object object = context.lookup("RegistrationspecificEjb");
RegistrationspecificHome home = ( RegistrationspecificHome )
PortableRemoteObject
.narrow ( object,
RegistrationspecificHome.class );
try {
System.out.println("");
Registrationspecific data = home.findByPrimaryKey( sem );
if ( data!=null ) {
if ( data.getSem().equals( sem ) ) {
return true;
}
} else {
return false;
}
} catch ( Exception exception ) {
return false;
}
return true;
}
ejb-code:
public interface RegistrationspecificHome extends EJBHome{
public static final String
COMP_NAME="java:comp/env/ejb/madadi/Registrationspecific";
public static final String JNDI_NAME="ejb/madadi/RegistrationspecificEjb";
public Registrationspecific create(String userid,String dept,String mno,String
sem) throws RemoteException, CreateException;
public Registrationspecific findByPrimaryKey(String sem) throws
FinderException, RemoteException;
public Registrationspecific findAll() throws FinderException, RemoteException;
public interface RegistrationHome extends EJBHome{
public static final String COMP_NAME="java:comp/env/ejb/madadi/Registration";
public static final String JNDI_NAME="ejb/madadi/RegistrationEjb";
public Registration create(String fname, String lname, String dob, String sex,
String userid, String password, String street, String city, String zipc, String phone,
String email) throws RemoteException, CreateException;
public Registration findByPrimaryKey(String userid) throws FinderException,
RemoteException;
public Registration findAll() throws FinderException, RemoteException;
}
public abstract class RegistrationspecificEjb implements EntityBean {
public abstract String getUserid();
public abstract String getDept();
public abstract String getMno();
public abstract String getSem();
public abstract void setUserid(String userid);
public abstract void setDept(String dept);
public abstract void setMno(String mno);
public abstract void setSem(String sem);
public String ejbCreate(String userid,String dept,String mno,String sem ) throws
RemoteException, CreateException
{
setUserid(userid);
setDept(dept);
setMno(mno);
setSem(sem);
return (null);
}
public abstract class RegistrationEjb implements EntityBean {
// Called by container after setEntityContext
// Use the abstract methods to set parameters
public abstract String getFname();
public abstract String getLname();
public abstract String getUserid();
public abstract String getPassword();
public abstract String getDob();
public abstract String getStreet();
public abstract String getCity();
public abstract String getZipc();
public abstract String getPhone();
public abstract String getEmail();
public abstract String getSex();
public abstract void setFname(String fname);
public abstract void setLname(String lname);
public abstract void setUserid(String userid);
public abstract void setPassword(String password);
public abstract void setDob(String dob);
public abstract void setStreet(String street);
public abstract void setCity(String city);
public abstract void setZipc(String zipc);
public abstract void setPhone(String phone);
public abstract void setEmail(String email);
public abstract void setSex(String sex);
public String ejbCreate(String fname, String lname, String dob, String sex, String
userid, String password, String street, String city, String zipc, String phone, String
email ) throws RemoteException, CreateException
{
// Called by container after setEntityContext
// Use the abstract methods to set parameters
setFname(fname);
setLname(lname);
setUserid(userid);
setPassword(password);
setDob(dob);
setStreet(street);
setCity(city);
setZipc(zipc);
setPhone(phone);
setEmail(email);
setSex(sex);
return (null);
}
xml-files:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans
2.0//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_2_0.dtd">
<ejb-jar>
Registration
<display-name>Registration</display-name>
<enterprise-beans>
<ejb-name>RegistrationEjb</ejb-name>
<ejb-class>madadi.entity.RegistrationEjb</ejb-class>
madadi.entity.RegistrationHome
madadi.entity.Registration
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
False
<primkey-field>userid</primkey-field>
<abstract-schema-name>Registration</abstract-schema-name>
<cmp-version>2.x</cmp-version>
<cmp-field>
<field-name>fname</field-name>
</cmp-field>
<cmp-field>
<field-name>lname</field-name>
</cmp-field>
<cmp-field>
<field-name>dob</field-name>
</cmp-field>
<cmp-field>
<field-name>sex</field-name>
</cmp-field>
<cmp-field>
<field-name>userid</field-name>
</cmp-field>
<cmp-field>
<field-name>password</field-name>
</cmp-field>
<cmp-field>
<field-name>street</field-name>
</cmp-field>
<cmp-field>
<field-name>city</field-name>
</cmp-field>
<cmp-field>
<field-name>zipc</field-name>
</cmp-field>
<cmp-field>
<field-name>phone</field-name>
</cmp-field>
<cmp-field>
<field-name>email</field-name>
</cmp-field>
<query-method>
<method-name>findAll</method-name>
<method-params />
</query-method>
<return-type-mapping>Local</return-type-mapping>
<ejb-ql><![CDATA[SELECT OBJECT(pdata) FROM Registration as
pdata]]></ejb-ql>
<query-method>
<method-name>findByPrimaryKey</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
<return-type-mapping>Local</return-type-mapping>
<ejb-ql><![CDATA[SELECT OBJECT(pdata) FROM Registration as
pdata]]></ejb-ql>
<ejb-name>RegistrationspecificEjb</ejb-name>
<ejb-class>madadi.entity.RegistrationspecificEjb</ejb-class>
madadi.entity.RegistrationspecificHome
madadi.entity.Registrationspecific
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
False
<primkey-field>sem</primkey-field>
<abstract-schema-name>Registrationspecific</abstract-schema-name>
<cmp-version>2.x</cmp-version>
<cmp-field>
<field-name>userid</field-name>
</cmp-field>
<cmp-field>
<field-name>dept</field-name>
</cmp-field>
<cmp-field>
<field-name>mno</field-name>
</cmp-field>
<cmp-field>
<field-name>sem</field-name>
</cmp-field>
<query-method>
<method-name>findAll</method-name>
<method-params />
</query-method>
<return-type-mapping>Local</return-type-mapping>
<ejb-ql><![CDATA[SELECT OBJECT(sdata) FROM Registration as
sdata]]></ejb-ql>
<query-method>
<method-name>findByPrimaryKey</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
<return-type-mapping>Local</return-type-mapping>
<ejb-ql><![CDATA[SELECT OBJECT(sdata) FROM Registration as
sdata]]></ejb-ql>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<ejb-name>RegistrationEjb</ejb-name>
<method-name>*</method-name>
<trans-attribute>Supports</trans-attribute>
</container-transaction>
<container-transaction>
<ejb-name>RegistrationspecificEjb</ejb-name>
<method-name>*</method-name>
<trans-attribute>Supports</trans-attribute>
</container-transaction>
<security-role>
no description
<role-name>users</role-name>
</security-role>
<ejb-relation>
<ejb-relation-name>userid in specific_data is a foreign key</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>RegistrationEjb</ejb-relationship-role-name>
One
<relationship-role-source>
<ejb-name>RegistrationEjb</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>userid</cmr-field-name>
<cmr-field-type>java.lang.String</cmr-field-type>
</cmr-field>
</ejb-relationship-role>
<ejb-relationship-role>
<ejb-relationship-role-name>RegistrationspecificEjb</ejb-relationship-role-name>
one
<cascade-delete />
<relationship-role-source>
<ejb-name>RegistrationspecificEjb</ejb-name>
</relationship-role-source>
</ejb-relationship-role>
</ejb-relation>
</assembly-descriptor>
</ejb-jar>
regards
madadi
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3839241#3839241
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3839241
-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user