程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2EE >> hibernate annoation (二 創建表)

hibernate annoation (二 創建表)

編輯:J2EE

為了追蹤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))


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved