小编Abd*_*fid的帖子

为什么Hibernate会抛出org.hibernate.exception.LockAcquisitionException?

我有这个方法:

mymethod(long id){  
    Person p = DAO.findPerson(id);

    Car car = new Car();
    car.setPerson(p);
    p.getCars().add(car);

    DAO.saveOrUpdate(car);
    DAO.saveOrUpdate(p);
    DAO.delete(p.getCars().get(0));//A person have many cars
}  
Run Code Online (Sandbox Code Playgroud)

映射:

Person.hbm.xml

<!-- one-to-many : [1,1]-> [0,n] -->
<set name="car" table="cars" lazy="true" inverse="true">
    <key column="id_doc" />
    <one-to-many class="Car" />
</set>

<many-to-one name="officialCar"
class="Car" 
column="officialcar_id" lazy="false"/>  
Run Code Online (Sandbox Code Playgroud)

Cars.hbm.xml

<many-to-one name="person" class="Person"
            column="id_person" not-null="true" lazy="false"/>   
Run Code Online (Sandbox Code Playgroud)

这种方法适用于单个线程,并且在多个线程上,给我一个错误:

02/08/2014 - 5:19:11 p.m. - [pool-1-thread-35] - WARN - org.hibernate.util.JDBCExceptionReporter - SQL Error: 60, SQLState: 61000 
02/08/2014 - 5:19:11 p.m. - [pool-1-thread-35] - ERROR - …
Run Code Online (Sandbox Code Playgroud)

java oracle spring hibernate transactions

11
推荐指数
2
解决办法
4万
查看次数

标签 统计

hibernate ×1

java ×1

oracle ×1

spring ×1

transactions ×1