一个hibernate很奇怪的问题????
我的配置和原代码:
person.hbm.xml:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<class name="goodok.Person" table="person">
<id name="id">
<column name="id" length="40"/>
<generator class="identity"/> //问题在这里?????
</id>
<property name="name" column="name" />
<property name="email" column="email" />
</class>
</hibernate-mapping>
Author.hbm.xml:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<class name="goodok.Author" table="author" >
<id name="id" column="id">
<generator class="foreign">
<param name="property">person</param>
</generator>
</id>
<property name="alias" column="alias" />
<one-to-one name="person" class="goodok.Person" cascade="all" constrained="true" />
</class>
</hibernate-mapping>
如果我把person.hbm.xml中的
<column name="id" length="40"/>
<generator class="identity"/> //问题在这里?????
改为
<column name="id" length="40"/>
<generator class="uuid.hex"/>
这是就可以往数据库中插入数据,但是数据库中的ID就是:2c0fa968fe51c3fa00fe51ce2c4d0026
的;
所以我把:uuid.hex 改为 identity
这时就不能往数据库中插入数据了;只能插入到person这张表里,而author表中就没有数据;
请问高手,这是怎么回事情,应该怎么改???????