主建 有2个,自己写个ejbFindByMyPrimaryKey(Sting a,String b)的方法
如果是bmp 自己写sql 
cmp 写相应的ejb ql, 大家觉得呢?

解决方案 »

  1.   

    或者 建立1个主见 累 实现实现hashCode()和equals()两个方法
    和 Serializable 接口
      

  2.   

    bcdavid(莉莉),你的意思就是说自己建一个类,类中有数据库表中的主建对应的属性,是吧?非常感谢你!能不能谈谈你对各种EJB之间取舍的经验呢,就像我上面问的session bean和entity bean都可以实现持久化,那怎么选择呢?能不能结合客户订单这样的经典例子讲呢?再次希望得到大家的帮助!谢谢!
      

  3.   

    下面是本人使用ejb的一些体会:
    1、尽量使用 Session Bean 代替,作为代替,在 session bean 中实现业务逻辑,返回一个包含结果的传统的 Java 对象或者 databean2、将实际的业务逻辑放在传统 Java 类中,可以独立于EJB container 之外进行测试开发3、使用 session bean 作为 facade,因为容器中的本地调用比远程调用快很多;所有对 entity bean 的调用可以在一个事务内!
      

  4.   


        entity EJB我觉得一般编程上没有什么用,提供什么编程接口?如果一个程序员连sql都不懂,那还干什么?
        当然在其他可能会有用,不过我还没有碰到过,我觉得学习Session Bean就可以呢
      

  5.   

    对于多个字段做为一个主键的问题,这样解决就行了:编写一个主键的类,比如
    public class BookCMPPK implements Serializable
    {
      public int copynumber;
      public BookCMPPK() {
      }
      public BookCMPPK(int copynumber, String isbn) {
        this.copynumber = copynumber;
        this.isbn = isbn;
      }
      public boolean equals(Object obj) {
        if (obj != null) {
          if (this.getClass().equals(obj.getClass())) {
            BookCMPPK that = (BookCMPPK) obj;
            return (((this.isbn == null) && (that.isbn == null)) || (this.isbn != null && this.isbn.equals(that.isbn))) && this.copynumber == that.copynumber;
          }
        }
        return false;
      }
      public int hashCode() {
        return (isbn + copynumber).hashCode();
      }
      public String isbn;
    }
    我的book表的结构是:
    create table book (isdn varchar2(10),copynumber integer,title varchar2(10),primary key(isdn,copynumber));