Я пытаюсь перейти в спящий режим, чтобы писать новые объекты каждый раз, когда выполняю сохранение, а не обновляю существующие записи.
public class Risk {
private long riskID;
private Vehicle vehicle;
}
public class Vehicle {
private long vehicleID;
private long riskID;
private String regNumber;
private String abiCode;
private String make;
private String model;
}
Так что, если написать риск в БД. Затем я меняю транспортное средство в Интернете и пытаюсь сохранить риск для БД во второй раз. Я хотел бы иметь два риска в таблице рисков и два транспортных средства в таблице транспортных средств.
В настоящее время я использую сеанс гибернации Save (Object o). Это всегда создает новый риск в БД, но никогда не создает новый автомобиль. Это просто обновление оригинала.
Вот мой файл сопоставления:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class lazy="false" name="uk.co.test.Risk" schema="quote_engine" table="GV_RISK" >
<id column="riskID" name="riskID" type="long">
<generator class="identity"/>
</id>
<many-to-one name="vehicle" class="uk.co.test.Vehicle" column="vehicleID" not-null="true" cascade="all" unique="true" />
</class>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="uk.co.test.Vehicle" schema="quote_engine" table="GV_VEHICLE">
<id name="vehicleID" type="long" column="vehicleID">
<generator class="identity" />
</id>
<property name="regNumber" type="string" column="regNumber" />
<property name="abiCode" type="string" column="abiCode" />
<property name="make" type="string" column="make" />
<property name="model" type="string" column="model" />
</class>