多次出现列名UseMan
关联时问题

解决方案 »

  1.   

    如果是复杂的关联时应该使用BMP
      

  2.   

    单独测试实体bean啊!
    把你的源码贴一下啊
      

  3.   

    package inform;import javax.ejb.*;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.sql.ResultSet;
    import javax.sql.DataSource;
    import javax.naming.InitialContext;
    import java.util.Collection;
    import java.sql.*;
    import java.util.Set;
    /**
     * @author zm
     * @version Version 1.00
     */abstract public class InformSheetBean implements EntityBean {
      EntityContext entityContext;
      public java.lang.Integer ejbCreate(java.lang.Integer sheetID) throws CreateException {
        //setSheetID(sheetID);
        //return null;
        throw new CreateException("This EJB is mapped to a view.  New instances cannot be created.");
      }
      /**
     * 加入新纪录
     * @param Integer ID, Timestamp SheetDate, String Annex, Integer UseDepart, Integer UseMan, String Caption, String Mains, String Memos, Integer Auditing, Integer Flags
     * @return java.lang.Integer
     * @exception CreateException
     * @see InformSheetBean
     * @see #ejbCreatenewSheet
     * @see InformSheetBean#ejbCreatenewSheet */  public java.lang.Integer ejbCreatenewSheet(Integer ID, Timestamp SheetDate, String Annex, Integer UseDepart, Integer UseMan, String Caption, String Mains, String Memos, Integer Auditing, Integer Flags) throws CreateException {
      setSheetID(ID);
        setSheetDate(SheetDate);
    setAuditing(Auditing);
    setAnnex(Annex);
    setCaption(Caption);
    setFlags(Flags);
    setMains(Mains);
    setMemos(Memos);
    setUseDepart(UseDepart);
    setUseMan(UseMan);
    return ID;
      }
      public void ejbPostCreate(java.lang.Integer sheetID) throws CreateException {
        /**@todo Complete this method*/
      }
      public void ejbPostCreatenewSheet(Integer ID, Timestamp SheetDate, String Annex, Integer UseDepart, Integer UseMan, String Caption, String Mains, String Memos, Integer Auditing, Integer Flags) throws CreateException {
        /**@todo Complete this method*/
      }
      public void ejbRemove() throws RemoveException {
        /**@todo Complete this method*/
      }
      public abstract void setSheetID(java.lang.Integer sheetID);
      public abstract void setSheetDate(java.sql.Timestamp sheetDate);
      public abstract void setAnnex(java.lang.String annex);
      public abstract void setUseDepart(java.lang.Integer useDepart);
      public abstract void setUseMan(java.lang.Integer useMan);
      public abstract void setCaption(java.lang.String caption);
      public abstract void setMains(java.lang.String mains);
      public abstract void setMemos(java.lang.String memos);
      public abstract void setAuditing(java.lang.Integer auditing);
      public abstract void setFlags(java.lang.Integer flags);
      public abstract void setInformFlow(java.util.Set informFlow);
      public abstract void setOptioner(inform.Optioner optioner);
      public abstract java.lang.Integer getSheetID();
      public abstract java.sql.Timestamp getSheetDate();
      public abstract java.lang.String getAnnex();
      public abstract java.lang.Integer getUseDepart();
      public abstract java.lang.Integer getUseMan();
      public abstract java.lang.String getCaption();
      public abstract java.lang.String getMains();
      public abstract java.lang.String getMemos();
      public abstract java.lang.Integer getAuditing();
      public abstract java.lang.Integer getFlags();
      public abstract java.util.Set getInformFlow();
      public abstract inform.Optioner getOptioner();
      public void ejbLoad() {
        /**@todo Complete this method*/
      }
      public void ejbStore() {
        /**@todo Complete this method*/
      }
      public void ejbActivate() {
        /**@todo Complete this method*/
      }
      public void ejbPassivate() {
        /**@todo Complete this method*/
      }
      public void unsetEntityContext() {
        this.entityContext = null;
      }
      public void setEntityContext(EntityContext entityContext) {
        this.entityContext = entityContext;
      }  /**
    * 得到最大SheetID
    * @param
    * @return java.lang.Integer
    * @exception ex
    * @see InformSheetBean
    * @see #ejbHomeGetmax
    * @see InformSheetBean#ejbHomeGetmax*/  public Integer ejbHomeGetmax() {
        Connection conn = null;
              Statement stmt = null;
              Integer outMaxSheetID = new Integer(0);          try {
                  conn = getConnection();
                  stmt = conn.createStatement();
                  String sql = "select max(SheetID) from InformSheet";
                                 java.sql.ResultSet rs = stmt.executeQuery(sql);
                                 if (rs.next())
                              {
                                     outMaxSheetID = new Integer(rs.getInt(1));
                            }
                            conn.close();          } catch (SQLException sqlEx) {
                              System.out.println("Error from getMax().");          } catch (Exception ex1){}          finally {
        // try { conn.close(); } catch (Exception sqlEx) { }
                      }
    return outMaxSheetID;
          }      /**
        * 通过jdbc得到连接
        * @param
        * @return Connection
        * @exception ex
        * @see InformSheetBean
        * @see #getConnection
        * @see InformSheetBean#getConnection    */  public Connection getConnection() throws Exception {    InitialContext ctx = new InitialContext();    DataSource ds = (DataSource) ctx.lookup("java:/MSSQLDS");
        Connection conn = null;
        Statement stmt = null;    try {
            conn = ds.getConnection();    } catch (SQLException sqlEx) {
                        System.out.println("Error connect to pool.");
        }    return conn;
    }  /**
    *得到系统时间
    * @param
    * @return Timestamp
    * @exception ex
    * @see InformSheetBean
    * @see #ejbHomeGetsystime
    * @see InformSheetBean#ejbHomeGetsystime*/  public Timestamp ejbHomeGetsystime() {
         Connection conn = null;
               Statement stmt = null;
               Timestamp back = null;           try {
                   conn = getConnection();
                   stmt = conn.createStatement();
                   String sql = "select getDate() as systime";
                                  java.sql.ResultSet rs = stmt.executeQuery(sql);
                                  if (rs.next())
                               {
                                  back = rs.getTimestamp("systime");
                             }           } catch (SQLException sqlEx) {
                               System.out.println("Error from getMax().");           } catch (Exception ex1){}           finally {
                   if (conn != null) {
                              try { conn.close(); } catch (Exception sqlEx) { }
                               }
                       }
     return back;
           }}