给你一个例子:
package noteExample;import java.io.Serializable;public class NotePK implements Serializable
{
public String noteId;

public NotePK(String value)
{
noteId = value;
}
public NotePK()
{
}

public String toString()
{
return noteId;
}
public int hashCode()
{
return noteId.hashCode();
}
public boolean equals(Object obj)
{
if(obj == null || !(obj instanceof NotePK))
{
return false;
}
else if(((NotePK)obj).noteId.equals(noteId))
{
return true;
}
else
{
return false;
}

}
}

解决方案 »

  1.   

    我觉得应这样写:
    package noteExample;import java.io.Serializable;public class NotePK implements Serializable
    {
    public String noteId;

    public NotePK(String noteID)
    {
    this.noteId = noteID;
    }
    public NotePK()
    {
    }

    public String getNoteID()
    {
    return noteId;
    }
    public int hashCode()
    {
    return noteId.hashCode();
    }
    public boolean equals(Object obj)
    {
    if(obj == null || !(obj instanceof NotePK))
    {
    return false;
    }
    NotePK pk=(NotePK)obj;
                      return noteID.equals(pk.noteID);

    }
    }
      

  2.   

    To buick555(王飞)  :
       你这里的:
     public String getNoteID()
    {
    return noteId;
    }有什么意义??
      

  3.   

    这个是规范推荐的。具体我也没有好的解释!不好意思!
    不过,具我分析,这是给容器返回一个唯一指定一个BEAN的标识。
    我会再查的,给你一个答案。
    还有,规范还规定不能在主键类中设置setXXX()方法,切记。
    一旦你将一个主键与一个实体BEAN联系起来,就不能重用他了!
    所以,根据这句话,我推测getXXX()方法是给容器做标识用的。
      

  4.   

    这个是规范推荐的。具体我也没有好的解释!不好意思!
    不过,具我分析,这是给容器返回一个唯一指定一个BEAN的标识。
    我会再查的,给你一个答案。
    还有,规范还规定不能在主键类中设置setXXX()方法,切记。
    一旦你将一个主键与一个实体BEAN联系起来,就不能重用他了!
    所以,根据这句话,我推测getXXX()方法是给容器做标识用的。
      

  5.   

    这个是规范推荐的。具体我也没有好的解释!不好意思!
    不过,具我分析,这是给容器返回一个唯一指定一个BEAN的标识。
    我会再查的,给你一个答案。
    还有,规范还规定不能在主键类中设置setXXX()方法,切记。
    一旦你将一个主键与一个实体BEAN联系起来,就不能重用他了!
    所以,根据这句话,我推测getXXX()方法是给容器做标识用的。