疯狂

STANDING ON THE SHOULDERS OF GIANTS
posts - 481, comments - 486, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

hibernate annoation (二创建表)

Posted on 2009-11-02 14:58 疯狂 阅读(798) 评论(0)  编辑  收藏 所属分类: java hibernate

为了追踪hibernate的信息 <property name="hibernate.show_sql">true</property>

 新建User类:

 

@Entity
@Table(name="E_USER",uniqueConstraints={
@UniqueConstraint(columnNames={"yahoo"})
})
public class User {

private int id;
private String yahoo; //昵称唯一

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getYahoo() {
return yahoo;
}
public void setYahoo(String yahoo) {
this.yahoo = yahoo;
}

}

 创建表 首先在hibernate.cfg.xml里配置<mapping class="com.eric.po.User"/>说明:使用annoation同样可以接受.hbm.xml文件

 1,以手动创建

   DROP TABLE IF EXISTS `e_user`;
CREATE TABLE `e_user` (
  `id` int(11) NOT NULL auto_increment,
  `yahoo` varchar(255) default NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `yahoo` (`yahoo`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 2,使用<property name="hbm2ddl.auto">create</property>属性来自动创建

 3,SchemaExport : new SchemaExport(new AnnotationConfiguration().configure()).create(true,true);

     create(true,true):两个参数:   

Java代码 复制代码
  1. @param script print the DDL to the console   
  2. @param export export the script to the database  

   hibernate建表语句:

  drop table if exists E_USER
 create table E_USER (id integer not null auto_increment, yahoo varchar(255), primary key (id), unique (yahoo))


只有注册用户登录后才能发表评论。


网站导航: