<class name="demo.object.exam1.Author" table="author" > 
把下面这段:
<!-- many to many --> 
<class name="demo.object.exam1.Work" table="work" > 
     <id name="id" column="id"> 
        <generator class="uuid.hex"/> 
     </id> 
     <property name="title" column="title" />      <set name="authors" table="author_work" inverse="true"> 
         <key column="work_id"/> 
         <many-to-many column="author_id" class="demo.object.exam1.Author"/> 
     </set> 
</class> 
改为:
<!-- many to many --> 
<class name="demo.object.exam1.Work" table="work" > 
     <id name="id" column="id"> 
        <generator class="uuid.hex"/> 
     </id> 
     <property name="title" column="title" /> 
</class> 
注意many-to-many的关系只在一个地方建就可以了.

解决方案 »

  1.   

    select author0_.aid as aid1_, author0_.alias as alias1_, person1_.id as id0_, person1_.name as name0_, person1_.email as email0_, person1_.initialname as initialn4_0_, person1_.first as first0_, person1_.last as last0_ from author author0_ left outer join person person1_ on author0_.aid=person1_.id where author0_.aid=1把这段sql在SQL PLUS里面执行一下看看有没有问题另  如果你的id属性在class文件中都是Long类型的那么在xml文件中的id字段声明要加上 type="java.lang.Long"
    for example<id name="id"> 
            <column name="id"/> 
            <generator class="sequence"/> 
        </id> 改为        <id
                name="id"
                column="id"
                type="java.lang.Long"
       unsaved-value="null" //这句最好也加上  hibernate判断对象操作的依据
            >
                <generator class="sequence"/>
            </id>建议楼主仔细看看hibernate的文档
    http://www.hibernate.org.cn/hibernate-ref/