problems with ejb create and primary keys
ghoyle May 14, 2004 5:24 AMHi,
I am having a problem deploying a sample entity I created. I am new to jboss and Entity Beans etc.
I created a a simple Entity Bean based on CMP 2.0 and was hoping it would create the table when I deployed it.
I am developing in Netbeans 3.6 and using the nbkboss pluging.
The error i get from jboss is
2004-05-13 16:14:54,541 INFO [org.jboss.deployment.MainDeployer] Starting deployment of package: file:/opt/jboss-3.2.3/server/all/deploy/employ.jar
2004-05-13 16:14:54,864 WARN [org.jboss.ejb.EJBDeployer.verifier] EJB spec violation:
Bean : Employee
Method : public EmployeePK ejbCreate(short, String, String, String, Date, String, String, short, String, BigDecimal, String) throws CreateException
Section: 10.6.4
Warning: The return type of an ejbCreate(...) method must be the entity bean's primary key type.
2004-05-13 16:14:54,868 ERROR [org.jboss.deployment.MainDeployer] could not create deployment: file:/opt/jboss-3.2.3/server/all/deploy/employ.jar
org.jboss.deployment.DeploymentException: Verification of Enterprise Beans failed, see above for error messages.
The ejb create method I am using looks like
public EmployeePK ejbCreate(short EmpNo , java.lang.String FirstName , java.lang.String LastName , java.lang.String PhoneExt , java.sql.Date HireDate , java.lang.String DeptNo , java.lang.String JobCode , short JobGrade , java.lang.String JobCountry , java.math.BigDecimal Salary , java.lang.String FullName) throws CreateException{ setEmpNo(EmpNo) ; setFirstName(FirstName) ; setLastName(LastName) ; setPhoneExt(PhoneExt) ; setHireDate(HireDate) ; setDeptNo(DeptNo) ; setJobCode(JobCode) ; setJobGrade(JobGrade) ; setJobCountry(JobCountry) ; setSalary(Salary) ; setFullName(FullName) ; return null; }
The Primary key class is
public class EmployeePK extends Object implements Serializable { public short EmpNo; public EmployeePK() { } public EmployeePK(short EmpNo) { this.EmpNo = EmpNo ; } /** * @see java.lang.Object#equals(Object) */ public boolean equals(Object otherOb) { boolean b = true; EmployeePK other = (EmployeePK) otherOb; if (this == otherOb) { return b; } if (!(otherOb instanceof EmployeePK)) { b=false; return b; } return b; } /** *Override hashCode() */ }
Any help at all will be much appreciated.
G