我用Hibernate,配置学生选课的多对多双向关联,映射文件分别为(t_record为关联表)://Course.hbm.xml 课程映射文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="app.bean">
<class name="Course" table="t_course" select-before-update="true">
<id name="id" column="id" type="string" unsaved-value="null">
<generator class="uuid.hex" />
</id>
<property name="courseCode" column="course_code" type="string" />
<property name="courseName" column="course_name" type="string" />
<set name="User" table="t_record" cascade="save-update">
<key column="course_id" />
<many-to-many class="User" column="user_id" />
</set>
</class>
</hibernate-mapping>//User.hbm.xml 学生映射文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="app.bean">
<class name="User" table="t_user" select-before-update="true">
<id name="id" column="id" type="string" unsaved-value="null">
<generator class="uuid.hex" />
</id>
<property name="name" column="name" type="string" />
<property name="passWord" column="password" type="string" />
<property name="account" column="account" type="string" />
<property name="sex" column="sex" type="string" />
<property name="college" column="college" type="string" />
<property name="type" column="type" type="int" />
<set name="Course" table="t_record" cascade="save-update">
<key column="user_id" />
<many-to-many class="Course" column="course_id" />
</set>
</class>
</hibernate-mapping>编写的DAO为:
User user = (User)session.get(User.class, user_id);
if(user == null){
return list;
}
else{
Set set = user.getCourse();    
list = new ArrayList(set);   //在此处报异常 }
tx.commit();
session.close();
但出现以下异常:
org.hibernate.exception.JDBCConnectionException: could not load an entity: [app.bean.Course#123]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:74)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.loadEntity(Loader.java:1799)
         省略...
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getImplConnection(Unknown Source) 
         省略...
严重: Servlet.service() for servlet action threw exception
org.hibernate.TransactionException: Transaction not successfully started
at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:149)
at app.DAO.CourseDAO.getUCList(CourseDAO.java:121)
         省略...搞了很久还是弄不出是什么原因,还请各位帮忙啊!!!!