当前位置: 代码迷 >> 综合 >> HTTP Status 500 - ids for this class must be manually assigned before calling save(): cn.com.dao.Cus
  详细解决方案

HTTP Status 500 - ids for this class must be manually assigned before calling save(): cn.com.dao.Cus

热度:78   发布时间:2023-11-19 21:47:32.0

错误信息如下:

原因:

hibernate要求必须有主键,我就设置id为主键,类型Integer,我在数据库里面设置主键是自增的

 

但是在用户类的映射文件中,我设置id的属性是

<id name="id" column="id" length="255" type="integer">
<generator class="assigned"></generator>
</id>

<generator>表示一个主键的生成机制
生成方式包括:

  • increment:生成long, short或者int类型的主键,不能在cluster环境下使用。适用于所有数据库
  • identity:生成long, short或者int类型的主键。
  • sequence :生成long, short或者int类型的主键。
  • class="assigned"说明主键是自己定的,不是数据库生成的,用户注册的帐号一般就属于这种类型。
  • native:根据具体连接的数据库从identity, sequence或者hilo选择一种来生成主键。适用的数据库根据选择的生成方式确定。

解决的方式:

<generator class="native"></generator>

  相关解决方案