Hibernate中session问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 01:21:46
代码如下:

public static void main(String[] args) {
// TODO Auto-generated method stub
Session session = HibernateUtils.getSession();
try {
session.beginTransaction();

Orgnization org1 = new Orgnization();
org1.setName("org1");
session.save(org1);

Orgnization org2 = new Orgnization();
org2.setName("org2");
org2.setParent(org1);
session.save(org2);

Orgnization org3 = new Orgnization();
org2.setName("org3");
org2.setParent(org1);
session.save(org3);
//
// Orgnization org4 = new Orgnization();
// org2.setName("org4");
// org2.setParent(org1);
// session.save(org4);
//

session.getTransaction().commit();
} catch (Exception e) {
session.getTransaction().rollback();
} finally {
HibernateUtils.closeSession(session);
}<

我按照楼主的代码运行了下,完全没有问题。也就是你的错误和transaction的写法没有关系。我认为是你的Orgnization实体Bean或者是实体的映射文件
Orgnization.hbm.xml写错了。
<hibernate-mapping>
<class name="com.abc.model2.User" table="user" catalog="many">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="increment" />
</id>
<many-to-one name="user" class="com.abc.model2.User" fetch="select">
<column name="pid" />
</many-to-one>
<property name="name" type="java.lang.String">
<column name="name" length="32" not-null="true" />
</property>
<set name="users" inverse="true">
<key