Hi All I need help in a simple one to one relationship.
I have two tables tusr & tusrdtl each having usr_id column as PK. I have defined a foreign key in the tusrdtl refering to the PK in the tusr table (i.e. usr_id) But when I invoke the relationship method user.getUserDetail(), I get a null entity for the related entity in the UserDetail entity. I have a related entity in the usrdtl table too. Please suggest. I have attaching the code for both the entity beans and the SLSB. Regards Abhinav The SLSB | | User user = getUserByLoginID(userLoginID); | | if (user==null) | throw new InvalidATSUserException(); | | UserDetail userDetail = user.getUserDetail(); | boolean isPasswordOK = checkUserPassword(userDetail, password); | | if(!isPasswordOK) | throw new InvalidLoginPasswordException(); | else | updateUserLastLoginDate(user); | | The UserDetail.java | | package org.integral.ats.vertebrae.ejb.user; | | import java.io.Serializable; | import java.util.Date; | | import org.integral.ats.vertebrae.ejb.annotations.Column; | import org.integral.ats.vertebrae.ejb.annotations.Entity; | import org.integral.ats.vertebrae.ejb.annotations.Id; | import org.integral.ats.vertebrae.ejb.annotations.Table; | | @Entity | @Table(name="tusrdtl") | public class UserDetail implements Serializable | { | | private static final long serialVersionUID = 1; | | @Id | @Column(name="USR_ID", primaryKey=true) | private long userID; | | @Column(name="USR_FST_NM", primaryKey = false) | private String firstName; | | @Column(name="USR_MDL_NM", primaryKey = false) | private String middleName; | | @Column(name="USR_LST_NM", primaryKey = false) | private String lastName; | | @Column(name="USR_DOB", primaryKey = false) | private Date dateOfBirth; | | @Column(name="USR_PWD", primaryKey = false ) | private String password; | | @Column(name="USR_LST_PWD_CHNG_TS", primaryKey = false) | private Date lastPasswordChangeDate; | | @Column(name="USR_PWD_CHNG_FREQ", primaryKey=false) | private int passwordChangeFreq; | | @Column(name="CRTD_TS", primaryKey = false) | private Date creationDate; | | @Column(name="CRTD_USR", primaryKey = false) | private long createdByUser; | | @Column(name="UPDT_TS", primaryKey = false) | private Date updatedDate; | | @Column(name="UPDT_USR", primaryKey = false) | private long updatedByUser; | | | public static long getSerialVersionUID() { | return serialVersionUID; | } | | public long getCreatedByUser() { | return createdByUser; | } | public void setCreatedByUser(long createdByUser) { | this.createdByUser = createdByUser; | } | | public Date getCreationDate() { | return creationDate; | } | public void setCreationDate(Date creationDate) { | this.creationDate = creationDate; | } | | public Date getDateOfBirth() { | return dateOfBirth; | } | public void setDateOfBirth(Date dateOfBirth) { | this.dateOfBirth = dateOfBirth; | } | | public String getFirstName() { | return firstName; | } | public void setFirstName(String firstName) { | this.firstName = firstName; | } | | public String getLastName() { | return lastName; | } | public void setLastName(String lastName) { | this.lastName = lastName; | } | | public Date getLastPasswordChangeDate() { | return lastPasswordChangeDate; | } | public void setLastPasswordChangeDate(Date lastPasswordChangeDate) { | this.lastPasswordChangeDate = lastPasswordChangeDate; | } | | public String getMiddleName() { | return middleName; | } | public void setMiddleName(String middleName) { | this.middleName = middleName; | } | | public String getPassword() { | return password; | } | public void setPassword(String password) { | this.password = password; | } | | public int getPasswordChangeFreq() { | return passwordChangeFreq; | } | public void setPasswordChangeFreq(int passwordChangeFreq) { | this.passwordChangeFreq = passwordChangeFreq; | } | | public long getUpdatedByUser() { | return updatedByUser; | } | public void setUpdatedByUser(long updatedByUser) { | this.updatedByUser = updatedByUser; | } | | public Date getUpdatedDate() { | return updatedDate; | } | public void setUpdatedDate(Date updatedDate) { | this.updatedDate = updatedDate; | } | | public long getUserID() { | return userID; | } | public void setUserID(long userID) { | this.userID = userID; | } | | } | | | The User.java | | package org.integral.ats.vertebrae.ejb.user; | | import java.io.Serializable; | import java.util.Date; | | import javax.persistence.CascadeType; | import javax.persistence.GeneratedValue; | import javax.persistence.OneToOne; | import javax.persistence.PrimaryKeyJoinColumn; | | import org.integral.ats.vertebrae.ejb.annotations.Column; | import org.integral.ats.vertebrae.ejb.annotations.Entity; | import org.integral.ats.vertebrae.ejb.annotations.Id; | import org.integral.ats.vertebrae.ejb.annotations.Table; | | @Entity | @Table(name="tusr") | public class User implements Serializable | { | | private static final long serialVersionUID = 1; | | @Id | @Column(name="USR_ID" , primaryKey = true) | @GeneratedValue | private long userID; | | @Column(name="USR_LGN_ID", primaryKey = false) | private String userLoginID; | | @Column(name="USR_ROLE_ID" , primaryKey = false) | private String userRoleID; | | @Column(name="LST_LGN_TS" , primaryKey = false) | private Date lastLoginDate; | | @Column(name="USR_ADD_INF" , primaryKey = false) | private String userAddInfo; | | @Column(name="CRTD_TS", primaryKey = false) | private Date creationDate; | | @Column(name="CRTD_USR", primaryKey = false) | private long createdByUser; | | @Column(name="UPDT_TS" , primaryKey = false) | private Date updatedDate; | | @Column(name="UPDT_USR", primaryKey = false) | private long updatedByUser; | | @OneToOne(targetEntity=UserDetail.class,cascade={CascadeType.ALL,CascadeType.MERGE}) | @PrimaryKeyJoinColumn | private UserDetail userDetail; | | public static long getSerialVersionUID() { | return serialVersionUID; | } | | public UserDetail getUserDetail() | { | return userDetail; | } | | public void setUserDetail(UserDetail userDetail) | { | this.userDetail = userDetail; | } | | public long getCreatedByUser() { | return createdByUser; | } | public void setCreatedByUser(long createdByUser) { | this.createdByUser = createdByUser; | } | | public Date getCreationDate() { | return creationDate; | } | public void setCreationDate(Date creationDate) { | this.creationDate = creationDate; | } | | public Date getLastLoginDate() { | return lastLoginDate; | } | public void setLastLoginDate(Date lastLoginDate) { | this.lastLoginDate = lastLoginDate; | } | | public long getUpdatedByUser() { | return updatedByUser; | } | public void setUpdatedByUser(long updatedByUser) { | this.updatedByUser = updatedByUser; | } | | public Date getUpdatedDate() { | return updatedDate; | } | public void setUpdatedDate(Date updatedDate) { | this.updatedDate = updatedDate; | } | | public String getUserAddInfo() { | return userAddInfo; | } | public void setUserAddInfo(String userAddInfo) { | this.userAddInfo = userAddInfo; | } | | public long getUserID() { | return userID; | } | public void setUserID(long userID) { | this.userID = userID; | } | | public String getUserRoleID() { | return userRoleID; | } | public void setUserRoleID(String userRoleID) { | this.userRoleID = userRoleID; | } | | public String getUserLoginID() { | return userLoginID; | } | | public void setUserLoginID(String userLoginID) { | this.userLoginID = userLoginID; | } | } | | View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4005394#4005394 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4005394 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user