一个hibernate很奇怪的问题????

04-08-13 niyboy
我的配置和原代码:

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表中就没有数据;

请问高手,这是怎么回事情,应该怎么改???????

niyboy
2004-08-13 11:36

我的配置和原代码:
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表中就没有数据;

请问高手,这是怎么回事情,应该怎么改???????
<p>

niyboy
2004-08-16 09:07
怎么没有人回答哟;

<column name="id" length="40"/>

<generator class="identity"/>

改为:

<column name="id" length="40" type="long"/>

<generator class="identity"/>

可是还是不正确

有高手知道原因吗???

niyboy
2004-08-16 09:07

怎么没有人回答哟;

 
<column name="id" length="40"/> 
<generator class="identity"/> 

改为:

<column name="id" length="40" type="long"/> 
<generator class="identity"/> 

可是还是不正确

有高手知道原因吗???

zb1015
2004-08-23 10:00
你的数据库是什么呢?

猜你喜欢
2Go 1 2 下一页