<set name="persons" inverse="true" cascade="all">
<key column="DEPT_ID" />              
<one-to-many class="Person" />
</set>
你在set里使用inverse="true" cascade="all"是正确的,然后在多的这一边加一个not-null="true",
同时在id里增加unsaved-value="0",如下:
<class name="Person">
<id name="id" unsaved-value="0">
<generator class="increment"/>
</id>
<property name="name"/>
                <many-to-one name="department" column="DEPT_ID" not-null="true"/>
</class>
还需要注意的是,你最好在每一个配置里都指定一下属性和字段映射的信息,如column="字段名",type="hibernate类型或java类型" length="字段长度"等信息,否则容易出错,同时也提高hibernate的处理效率。