5

我知道您可以通过映射自动增加 id;

<id column="user_id" name="id" >
<generator class="increment"/>
</id>

但是是否也可以增加一个属性,到目前为止我尝试过的没有奏效;

<property column="numeric_value" name="nr" >
<generator class="increment"/>
</property>
4

2 回答 2

8

但是是否也可以增加一个属性,到目前为止我尝试过的没有奏效;

不,您不能在 a 中使用<generator>a <property>(或者,用简单的英语来写,Hibernate 仅支持使用生成器来生成标识符属性)。

如果您可以依靠数据库生成值(例如使用触发器),也许可以查看生成的属性。

参考

于 2010-10-31T08:42:25.000 回答
0

这将取决于数据库以及您如何创建表。例如,如果您使用的是 Mysql,那么在表 id 字段中应该为该字段设置自动增量。Hibernate 不会生成它,而是依赖于数据库来完成它。如果您使用 Hibernate 工具生成表,它将负责适当地生成表。你可以参考http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-declaration-id

于 2010-10-29T10:41:26.053 回答