Posted on 2009-11-02 14:58
疯狂 阅读(872)
评论(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):两个参数:
- * @param script print the DDL to the console
- * @param export export the script to the database
* @param script print the DDL to the console
* @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))