|
Hi,
Some basic question :
I have a one-to-one mapping between to classes, for example:
class Person{
private int id;
private int age;
private Name name;
// getters/setters for all properties
}
and
class Name{
private int id;
private String firstName;
private String lastName;
// getters/setters for all properties
}
the id's are both mapped as "sequence"-generated.
I have a test class with following code:
Name name = new Name();
name.setFirstName("Oscar");
name.setLastName("Wilde");
Person p = new Person();
p.setAge(47);
session.save(p);
Will hibernate also insert a record into table "Names" ??
Or do I need to save the name first before I attache it to Person?
Mapping files looks like:
Name.hbm.xml:
<?xml version="1.0"?
...
>
<hibernate-mapping>
<class name="com.bebop.business.Name" table="Names">
<id name="id" type="int" column="name_id" unsaved-value="0">
<generator class="sequence">
<param name="sequence">seq_names</param>
</generator>
</id>
<property name="firstName" column="firstname" type="string"/>
<property name="lastName" column="lastname" type="string"/>
</class>
</hibernate-mapping>
Person.hbm.xml:
<?xml version="1.0"?
...
>
<hibernate-mapping>
<class name="com.bebop.business.Person" table="Persons">
<id name="id" type="string" >
<column name="uid" length="16"/>
<generator class="uuid.hex"/>
</id>
<property name="age" column="age" type="int"/>
<one-to-one name="name" class="com.bebop.business.Name"/>
</hibernate-mapping>
|