【问题标题】:Hibernate auto-increment propertyHibernate 自增属性
【发布时间】:2011-05-02 08:20:01
【问题描述】:

我知道你可以通过映射自动增加一个 id;

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

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

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

【问题讨论】:

    标签: java hibernate hibernate-mapping


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      不,你不能在&lt;property&gt; 中使用&lt;generator&gt;(或者,用简单的英文写,Hibernate 只支持使用标识符属性的生成器)。

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

      参考文献

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-11
        • 1970-01-01
        • 1970-01-01
        • 2011-09-13
        • 2010-10-15
        • 1970-01-01
        • 2015-06-12
        • 1970-01-01
        相关资源
        最近更新 更多