龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > MySQL 技术 >

hibernate中MySQL自增字段的映射描述

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
以下的文章主要向大家介绍的是hibernate 中 MySQL 自增字段的映射,以及对其实际应用代码的示例,以下的文章就是对其实际操作的具体描述,希望会给你带来一些帮助在学习hibernate 中

以下的文章主要向大家介绍的是hibernate 中MySQL自增字段的映射,以及对其实际应用代码的示例,以下的文章就是对其实际操作的具体描述,希望会给你带来一些帮助在学习hibernate 中MySQL 自增字段的映射方面。

  1. create table `anietest`.`user`(  
  2. `id` int not null auto_increment,  
  3. `username` varchar(50),  
  4. primary key (`id`)  
  5. );  
  6. create unique index `PRIMARY` on `anietest`.`user`(`id`);  

上面这个MySQL的表的映射文件为

  1. <hibernate-mapping> 
  2. <class name="org.nieweiguo.User" table="user" catalog="anietest"> 
  3. <id name="id" type="java.lang.Integer"> 
  4. <column name="id" /> 
  5. <generator class="native" /> 
  6. </id> 
  7. <property name="username" type="java.lang.String"> 
  8. <column name="username" length="50" /> 
  9. </property> 
  10. </class> 
  11. </hibernate-mapping> 

这样在ACTION里面插入数据的时候就不用设置model的ID的值,但是如果把<generator class="native" />改成<generator class="assigned" /> 就得在ACTION里设置ID值为0 ,这样MySQL中字段还是会MySQL自增字段

ACTION的代码:

  1. UserForm userForm = (UserForm) form;// TODO Auto-generated method stub  
  2. UserDAO userDao=new UserDAO();  
  3. User user=new User();  
  4. //user.setId(0); class="assigned"  

的时候要设置值,可以设置为0或者更大的值

  1. user.setUsername(userForm.getUsername());  
  2. userDao.save(user); 

以上的相关内容就是对hibernate 中MySQL自增字段的映射的介绍,望你能有所收获。


精彩图集

赞助商链接