首先是错误描述
Hibernate: insert into COMMMessages (title, keyWords, content, personId, sendDate) values (?, ?, ?, ?, ?)
Hibernate: insert into COMMMails (type, outMailItemId, Mail) values (?, ?, ?)
Hibernate: insert into COMMOutMailItems (mailId, personId) values (?, ?)
2012-04-20 08:57:14 [org.hibernate.util.JDBCExceptionReporter]-[ERROR] Column 'mailId' cannot be null
com.aheadsoft.egovernment.core.exception.CommandException: com.aheadsoft.egovernment.core.exception.InfrastructureException: org.hibernate.exception.ConstraintViolationException: could not insert: [com.aheadsoft.egovernment.communication.entity.OutMailItem]
Hibernate: insert into COMMInMailItems (readed, mailId, personId) values (?, ?, ?)
2012-04-20 08:57:14 [org.hibernate.util.JDBCExceptionReporter]-[ERROR] Column 'mailId' cannot be nullcommmessages的hibernate配置文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping
package="com.aheadsoft.egovernment.communication.entity"
>
<class
name="Message"
table="COMMMessages"
> <id
name="id"
column="id"
type="java.lang.Long"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
>
<generator class="identity">
<!--
To add non XDoclet generator parameters, create a file named
hibernate-generator-params-Message.xml
containing the additional parameters and place it in your merge dir.
-->
</generator>
</id> <property
name="title"
type="java.lang.String"
update="true"
insert="true"
column="title"
/> <property
name="keyWords"
type="java.lang.String"
update="true"
insert="true"
column="keyWords"
/> <property
name="content"
type="string"
update="true"
insert="true"
column="content"
length="8000"
/> <many-to-one
name="sender"
class="com.aheadsoft.egovernment.core.entity.Person"
cascade="save-update"
outer-join="auto"
update="true"
insert="true"
column="personId"
not-null="true"
/> <property
name="sendDate"
type="timestamp"
update="true"
insert="true"
column="sendDate"
/> <set
name="attachments"
cascade="all-delete-orphan"
sort="unsorted"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
outer-join="auto"
> <key
column="messageId"
>
</key> <one-to-many
class="com.aheadsoft.egovernment.core.entity.Attachment"
/> </set> <set
name="receivePersons"
table="COMMMessage_ReceivePersons"
lazy="true"
cascade="save-update"
sort="unsorted"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
> <key
column="messageId"
>
</key> <many-to-many
class="com.aheadsoft.egovernment.core.entity.Person"
column="personId"
outer-join="auto"
/> </set> <!--
To add non XDoclet property mappings, create a file named
hibernate-properties-Message.xml
containing the additional properties and place it in your merge dir.
--> <joined-subclass
name="com.aheadsoft.egovernment.communication.entity.Mail"
table="COMMMails"
>
<key
/>
<property
name="type"
type="int"
update="true"
insert="true"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
column="type"
/> <many-to-one
name="outMailItem"
class="OutMailItem"
cascade="all"
outer-join="auto"
update="true"
insert="true"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
column="outMailItemId"
not-null="false"
/> <set
name="inMailItems"
lazy="true"
inverse="true"
cascade="all-delete-orphan"
sort="unsorted"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
> <key
column="_mailId"
>
</key> <one-to-many
class="InMailItem"
/> </set> </joined-subclass>
<joined-subclass
name="com.aheadsoft.egovernment.communication.entity.Notice"
table="COMMNotices"
>
<key
/> <many-to-one
name="sendCompany"
class="com.aheadsoft.egovernment.core.entity.Company"
cascade="save-update"
outer-join="auto"
update="true"
insert="true"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
column="sendCompanyId"
/> <many-to-one
name="sendDepartment"
class="com.aheadsoft.egovernment.core.entity.Department"
cascade="save-update"
outer-join="auto"
update="true"
insert="true"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
column="sendDepartmentId"
/> <set
name="receiveCompanies"
table="COMMNotice_ReceiveCompanies"
lazy="true"
cascade="save-update"
sort="unsorted"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
> <key
column="noticeId"
>
</key> <many-to-many
class="com.aheadsoft.egovernment.core.entity.Company"
column="companyId"
outer-join="auto"
/> </set> <set
name="receiveDepartments"
table="COMMNotice_ReceiveDepartments"
lazy="true"
cascade="save-update"
sort="unsorted"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
> <key
column="noticeId"
>
</key> <many-to-many
class="com.aheadsoft.egovernment.core.entity.Department"
column="departmentId"
outer-join="auto"
/> </set> <set
name="inNoticeItems"
lazy="true"
inverse="true"
cascade="all-delete-orphan"
sort="unsorted"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
> <key
column="noticeId"
>
</key> <one-to-many
class="InNoticeItem"
/> </set> </joined-subclass> </class></hibernate-mapping>
Hibernate: insert into COMMMessages (title, keyWords, content, personId, sendDate) values (?, ?, ?, ?, ?)
Hibernate: insert into COMMMails (type, outMailItemId, Mail) values (?, ?, ?)
Hibernate: insert into COMMOutMailItems (mailId, personId) values (?, ?)
2012-04-20 08:57:14 [org.hibernate.util.JDBCExceptionReporter]-[ERROR] Column 'mailId' cannot be null
com.aheadsoft.egovernment.core.exception.CommandException: com.aheadsoft.egovernment.core.exception.InfrastructureException: org.hibernate.exception.ConstraintViolationException: could not insert: [com.aheadsoft.egovernment.communication.entity.OutMailItem]
Hibernate: insert into COMMInMailItems (readed, mailId, personId) values (?, ?, ?)
2012-04-20 08:57:14 [org.hibernate.util.JDBCExceptionReporter]-[ERROR] Column 'mailId' cannot be nullcommmessages的hibernate配置文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping
package="com.aheadsoft.egovernment.communication.entity"
>
<class
name="Message"
table="COMMMessages"
> <id
name="id"
column="id"
type="java.lang.Long"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
>
<generator class="identity">
<!--
To add non XDoclet generator parameters, create a file named
hibernate-generator-params-Message.xml
containing the additional parameters and place it in your merge dir.
-->
</generator>
</id> <property
name="title"
type="java.lang.String"
update="true"
insert="true"
column="title"
/> <property
name="keyWords"
type="java.lang.String"
update="true"
insert="true"
column="keyWords"
/> <property
name="content"
type="string"
update="true"
insert="true"
column="content"
length="8000"
/> <many-to-one
name="sender"
class="com.aheadsoft.egovernment.core.entity.Person"
cascade="save-update"
outer-join="auto"
update="true"
insert="true"
column="personId"
not-null="true"
/> <property
name="sendDate"
type="timestamp"
update="true"
insert="true"
column="sendDate"
/> <set
name="attachments"
cascade="all-delete-orphan"
sort="unsorted"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
outer-join="auto"
> <key
column="messageId"
>
</key> <one-to-many
class="com.aheadsoft.egovernment.core.entity.Attachment"
/> </set> <set
name="receivePersons"
table="COMMMessage_ReceivePersons"
lazy="true"
cascade="save-update"
sort="unsorted"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
> <key
column="messageId"
>
</key> <many-to-many
class="com.aheadsoft.egovernment.core.entity.Person"
column="personId"
outer-join="auto"
/> </set> <!--
To add non XDoclet property mappings, create a file named
hibernate-properties-Message.xml
containing the additional properties and place it in your merge dir.
--> <joined-subclass
name="com.aheadsoft.egovernment.communication.entity.Mail"
table="COMMMails"
>
<key
/>
<property
name="type"
type="int"
update="true"
insert="true"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
column="type"
/> <many-to-one
name="outMailItem"
class="OutMailItem"
cascade="all"
outer-join="auto"
update="true"
insert="true"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
column="outMailItemId"
not-null="false"
/> <set
name="inMailItems"
lazy="true"
inverse="true"
cascade="all-delete-orphan"
sort="unsorted"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
> <key
column="_mailId"
>
</key> <one-to-many
class="InMailItem"
/> </set> </joined-subclass>
<joined-subclass
name="com.aheadsoft.egovernment.communication.entity.Notice"
table="COMMNotices"
>
<key
/> <many-to-one
name="sendCompany"
class="com.aheadsoft.egovernment.core.entity.Company"
cascade="save-update"
outer-join="auto"
update="true"
insert="true"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
column="sendCompanyId"
/> <many-to-one
name="sendDepartment"
class="com.aheadsoft.egovernment.core.entity.Department"
cascade="save-update"
outer-join="auto"
update="true"
insert="true"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
column="sendDepartmentId"
/> <set
name="receiveCompanies"
table="COMMNotice_ReceiveCompanies"
lazy="true"
cascade="save-update"
sort="unsorted"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
> <key
column="noticeId"
>
</key> <many-to-many
class="com.aheadsoft.egovernment.core.entity.Company"
column="companyId"
outer-join="auto"
/> </set> <set
name="receiveDepartments"
table="COMMNotice_ReceiveDepartments"
lazy="true"
cascade="save-update"
sort="unsorted"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
> <key
column="noticeId"
>
</key> <many-to-many
class="com.aheadsoft.egovernment.core.entity.Department"
column="departmentId"
outer-join="auto"
/> </set> <set
name="inNoticeItems"
lazy="true"
inverse="true"
cascade="all-delete-orphan"
sort="unsorted"
access="com.aheadsoft.egovernment.core.dao.DirectSetAccessor"
> <key
column="noticeId"
>
</key> <one-to-many
class="InNoticeItem"
/> </set> </joined-subclass> </class></hibernate-mapping>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货