<class name="com.fishingport.bean.Inportinfo" table="inportinfo" catalog="fishingport">
        <id name="inportid" type="java.lang.Integer">
            <column name="inportid" />
            <generator class="native" />
        </id>
        <many-to-one name="portinfo" class="com.fishingport.bean.Portinfo" fetch="select">
            <column name="portid" not-null="true" />
        </many-to-one>
        <many-to-one name="boatinfo" class="com.fishingport.bean.Boatinfo" fetch="select">
            <column name="boatid" not-null="true" />
        </many-to-one>
        <property name="inportTime" type="java.util.Date">
            <column name="inportTime" length="19" not-null="true" />
        </property>
    </class>你把里面的not-null="true"   true改成 false试试

解决方案 »

  1.   

    报的错误
    Hibernate: select inportinfo0_.inportid as inportid6_, inportinfo0_.portid as portid6_, inportinfo0_.boatid as boatid6_, inportinfo0_.inportTime as inportTime6_ from fishingport.inportinfo inportinfo0_ where inportinfo0_.portid=3 order by inportinfo0_.inportTime desc limit ?
    java.lang.NullPointerException
    at org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372)
    at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:3121)
    at org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:232)
    at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:173)
    at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87)
    at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862)
    at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:830)
    at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:266)
    at org.hibernate.type.EntityType.resolve(EntityType.java:303)
    at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:116)
    at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842)
    at org.hibernate.loader.Loader.doQuery(Loader.java:717)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
    at org.hibernate.loader.Loader.doList(Loader.java:2145)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
    at org.hibernate.loader.Loader.list(Loader.java:2024)
    at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
    at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)
    at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)
    at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
    at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
    at com.fishingport.dao.boat.impl.BoatDaoImpl.getBoatsofport(BoatDaoImpl.java:32)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at $Proxy7.getBoatsofport(Unknown Source)
    at com.fishingport.service.boat.impl.BoatServiceImpl.getBoatsofport(BoatServiceImpl.java:27)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at $Proxy8.getBoatsofport(Unknown Source)
    at com.fishingport.servlet.BoatMessage.doGet(BoatMessage.java:35)
    at com.fishingport.servlet.BoatMessage.doPost(BoatMessage.java:57)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
    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:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
      

  2.   

    BoatServiceImpl.java 27行代码是什么?
      

  3.   

    你说的该是int num = ((Integer) this.getHibernateTemplate().find(
                    "select count(*) from Inportinfo i where i.portinfo.portid="
                            + portid).iterator().next()).intValue();这段代码报空指针吧?
      

  4.   

    是这行
    list = this.getHibernateTemplate().find("from Inportinfo");
      

  5.   

    没有,我是用eclipse的hibernate插件自动生成的映射文件,应该不会有这样的问题
      

  6.   

    你看下你的实体bean,inportTime属性是不是Date类型;
    如果是,那么将XML配置成<class name="com.fishingport.bean.Inportinfo" table="inportinfo" catalog="fishingport">
            <id name="inportid" type="java.lang.Integer">
                <column name="inportid" />
                <generator class="native" />
            </id>
            <many-to-one name="portinfo" class="com.fishingport.bean.Portinfo" fetch="select">
                <column name="portid" not-null="true" />
            </many-to-one>
            <many-to-one name="boatinfo" class="com.fishingport.bean.Boatinfo" fetch="select">
                <column name="boatid" not-null="true" />
            </many-to-one>        <property name="inportTime" >
            </property>
        </class>
    个人觉得空指针的异常是出在inportTime上,具体仔细查看inportTime数据库之间,
      

  7.   

    会楼上,试了你的办法,还是没用
    我觉得不是Date类型的问题,因为我把所有的表关系去掉之后就不报错了实体bean如下import java.util.Date;/**
     * Inportinfo entity.
     * 
     * @author MyEclipse Persistence Tools
     */public class Inportinfo implements java.io.Serializable { // Fields private Integer inportid;
    private Portinfo portinfo;
    private Boatinfo boatinfo;
    private String boatname;
    private Date inportTime; // Constructors /** default constructor */
    public Inportinfo() {
    } /** minimal constructor */
    public Inportinfo(Portinfo portinfo, Boatinfo boatinfo, Date inportTime) {
    this.portinfo = portinfo;
    this.boatinfo = boatinfo;
    this.inportTime = inportTime;
    } /** full constructor */
    public Inportinfo(Portinfo portinfo, Boatinfo boatinfo, String boatname,
    Date inportTime) {
    this.portinfo = portinfo;
    this.boatinfo = boatinfo;
    this.boatname = boatname;
    this.inportTime = inportTime;
    } // Property accessors public Integer getInportid() {
    return this.inportid;
    } public void setInportid(Integer inportid) {
    this.inportid = inportid;
    } public Portinfo getPortinfo() {
    return this.portinfo;
    } public void setPortinfo(Portinfo portinfo) {
    this.portinfo = portinfo;
    } public Boatinfo getBoatinfo() {
    return this.boatinfo;
    } public void setBoatinfo(Boatinfo boatinfo) {
    this.boatinfo = boatinfo;
    } public String getBoatname() {
    return this.boatname;
    } public void setBoatname(String boatname) {
    this.boatname = boatname;
    } public Date getInportTime() {
    return this.inportTime;
    } public void setInportTime(Date inportTime) {
    this.inportTime = inportTime;
    }
    }