小弟用Hibernate映射postgresql时出现如下问题
这是hbm文件
<hibernate-mapping>
    <class name="jp.talentDespatch.db.Accessories" table="accessories" schema="public">
        <id name="acIndex" type="java.lang.Integer">
            <column name="ac_index" />
            <generator class="assigned" />
        </id>
        <many-to-one name="message" class="jp.talentDespatch.db.Message" fetch="select">
            <column name="mes_index" />
        </many-to-one>
        <property name="acAccessories" type="java.lang.String">
            <column name="ac_accessories" />
        </property>
        <property name="acMender" type="java.lang.String">
            <column name="ac_mender" length="50" />
        </property>
        <property name="acReTime" type="java.util.Date">
            <column name="ac_re_time" length="8" />
        </property>
        <property name="acCreator" type="java.lang.String">
            <column name="ac_creator" length="50" />
        </property>
        <property name="acCrTime" type="java.util.Date">
            <column name="ac_cr_time" length="8" />
        </property>
    </class>
</hibernate-mapping>这是java bean 
  private Integer acIndex;
     private Message message;
     private String acAccessories;
     private String acMender;
     private Date acReTime;
     private String acCreator;
     private Date acCrTime;
    // Constructors    /** default constructor */
    public AbstractAccessories() {
    } /** minimal constructor */
    public AbstractAccessories(Integer acIndex) {
        this.acIndex = acIndex;
    }
    
    /** full constructor */
    public AbstractAccessories(Integer acIndex, Message message, String acAccessories, String acMender, Date acReTime, String acCreator, Date acCrTime) {
        this.acIndex = acIndex;
        this.message = message;
        this.acAccessories = acAccessories;
        this.acMender = acMender;
        this.acReTime = acReTime;
        this.acCreator = acCreator;
        this.acCrTime = acCrTime;
    }
get set 方法都有,这里就不写了
这是数据库表生成语句CREATE TABLE accessories
(
  ac_index serial NOT NULL,
  ac_accessories bytea,
  mes_index integer,
  ac_mender character varying(50),
  ac_re_time timestamp without time zone,
  ac_creator character varying(50),
  ac_cr_time timestamp without time zone,
  CONSTRAINT accessories_pkey PRIMARY KEY (ac_index),
  CONSTRAINT accessories_mes_index_fkey FOREIGN KEY (mes_index)
      REFERENCES message (mes_index) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION

WITHOUT OIDS;
ALTER TABLE accessories OWNER TO dms;
这是对应序列生成语句
CREATE SEQUENCE accessories_ac_index_seq
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 1
  CACHE 1;
ALTER TABLE accessories_ac_index_seq OWNER TO dms;现在一次性要向表里插入多条数据,但是主键应该设置成什么样子?
有知道的大侠告诉小弟一声,谢谢?
我现在的异常信息是:
org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): jp.talentDespatch.db.Accessories
at org.hibernate.id.Assigned.generate(Assigned.java:33)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:91)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:98)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:502)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:494)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:490)
at jp.talentDespatch.db.dao.base.BaseAccessoriesDAO.attachDirty(BaseAccessoriesDAO.java:104)
at jp.talentDespatch.manager.message.service.impl.SendMailServiceImpl.sendMail(SendMailServiceImpl.java:592)
at jp.talentDespatch.manager.message.action.NewMessageAction.execute(NewMessageAction.java:88)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at jp.talentDespatch.common.filter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:32)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)