Hi!
Im emplementing a CMP which uses a compound key as the primary key. If I create
an entity by calling the create method of the local home interface, the entity
was succesfully created. But when i call on the method findByPrimaryKey, it
throws an ObjectNotFoundException. This means that it did not found the data i
just added. Why it didnt found the data i just added?
Primary Key Class:
| public class PR_ContentPK implements Serializable {
|
| public Long getID() {
| return ID;
| }
|
| public void setID(Long id) {
| ID = id;
| }
|
| public String getLang() {
| return lang;
| }
|
| public void setLang(String lang) {
| this.lang = lang;
| }
|
| public Long ID;
|
| public String lang;
|
| public PR_ContentPK() {
| }
|
| public PR_ContentPK(Long ID, String lang) {
| this.ID = ID;
| this.lang = lang;
| }
|
| public int hashCode() {
| StringBuffer buffer = new StringBuffer();
| buffer.append(this.ID.toString());
| buffer.append(this.lang);
| String key = buffer.toString();
| return key.hashCode();
| }
|
| public boolean equals(Object object) {
| if (object instanceof PR_ContentPK) {
| return ((PR_ContentPK) object).ID.longValue() == this.ID
| .longValue() && ((PR_ContentPK) object).lang.equals(this.lang);
| } else {
| return false;
| }
| }
|
| public String toString() {
| return new String(this.ID + this.lang).toString();
| }
|
| }
|
The method on the session bean
| public void addNewArticle(Date date, String title, String content)
| throws RemoteException, UnableToAddNewArticleException {
|
| try {
| Context ctx = new InitialContext();
| PR_HeaderLocalHome headerHome = (PR_HeaderLocalHome) ctx
| .lookup(PR_HEADER_JNDI);
| PR_HeaderLocal pr_header = headerHome.create(null, date);
|
| PR_ContentLocalHome contentHome = (PR_ContentLocalHome) ctx
| .lookup(PR_CONTENT_JNDI);
|
| PR_ContentLocal pr_content =
contentHome.create(pr_header.getID(),
| "en", title.getBytes(), content.getBytes());
|
| try {
| pr_content = contentHome.findByPrimaryKey(new
PR_ContentPK(pr_header.getID(),"en"));
| } catch (FinderException e2) {
| e2.printStackTrace();
| }
| } catch (NamingException e) {
| throw new RemoteException(e.getMessage());
| } catch (CreateException e1) {
| throw new UnableToAddNewArticleException(
| "Unable to create new article.");
| }
| }
|
|
Thanks in advance!
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3854376#3854376
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3854376
-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user