WEB开发网
开发学院软件开发Java hibernate annoation (二创建表) 阅读

hibernate annoation (二创建表)

 2009-09-18 00:00:00 来源:WEB开发网   
核心提示:为了追踪hibernate的信息 <property name="hibernate.show_sql">true</property>新建User类:@Entity@Table(name="E_USER",uniqueConstraints={@Uniq

为了追踪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代码   

* @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))

Tags:hibernate annoation 创建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接