最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

Hibernate基礎(chǔ)配置

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 14:08:44
文檔

Hibernate基礎(chǔ)配置

Hibernate基礎(chǔ)配置:三、Hibernate基礎(chǔ)配置 1、如果在Annotation中,類名與真是的數(shù)據(jù)庫(kù)中的表名不同,可以使用增加@Table(name=數(shù)據(jù)庫(kù)中的表名)的方式使其對(duì)應(yīng)。此時(shí),如果數(shù)據(jù)庫(kù)中有這個(gè)表名則會(huì)對(duì)應(yīng)上,如果沒(méi)有這個(gè)表,則會(huì)生成這個(gè)表。同樣的,在XXX.hbm.xml中,
推薦度:
導(dǎo)讀Hibernate基礎(chǔ)配置:三、Hibernate基礎(chǔ)配置 1、如果在Annotation中,類名與真是的數(shù)據(jù)庫(kù)中的表名不同,可以使用增加@Table(name=數(shù)據(jù)庫(kù)中的表名)的方式使其對(duì)應(yīng)。此時(shí),如果數(shù)據(jù)庫(kù)中有這個(gè)表名則會(huì)對(duì)應(yīng)上,如果沒(méi)有這個(gè)表,則會(huì)生成這個(gè)表。同樣的,在XXX.hbm.xml中,

三、Hibernate基礎(chǔ)配置 1、如果在Annotation中,類名與真是的數(shù)據(jù)庫(kù)中的表名不同,可以使用增加@Table(name=數(shù)據(jù)庫(kù)中的表名)的方式使其對(duì)應(yīng)。此時(shí),如果數(shù)據(jù)庫(kù)中有這個(gè)表名則會(huì)對(duì)應(yīng)上,如果沒(méi)有這個(gè)表,則會(huì)生成這個(gè)表。同樣的,在XXX.hbm.xml中,也可以配置

三、Hibernate基礎(chǔ)配置
1、如果在Annotation中,類名與真是的數(shù)據(jù)庫(kù)中的表名不同,可以使用增加@Table(name="數(shù)據(jù)庫(kù)中的表名")的方式使其對(duì)應(yīng)。此時(shí),如果數(shù)據(jù)庫(kù)中有這個(gè)表名則會(huì)對(duì)應(yīng)上,如果沒(méi)有這個(gè)表,則會(huì)生成這個(gè)表。同樣的,在XXX.hbm.xml中,也可以配置增加響應(yīng)的Tabel=tableName的配置。
2、所有沒(méi)有定義注解的屬性等價(jià)于在其上面添加了@Basic注解。
3、屬性名與字段名不對(duì)應(yīng)的情況,使用@Column(name="數(shù)據(jù)表的字段名")的方式使其相對(duì)應(yīng)。
4、不需要persistence的字段可以使用@Transient的方式進(jìn)行注解。這樣該字段就不會(huì)寫(xiě)入數(shù)據(jù)表中。在xml中,不進(jìn)行配置就可以了。
5、屬性是時(shí)間格式的情況下,默認(rèn)會(huì)將年月日時(shí)分秒全部存入??梢允褂聾Temporal(TemporalType.DATE)的形式使其只存入日期,當(dāng)然,還可以使其存入其他的日期格式。
6、Hibernate映射的類型。Hibernate會(huì)自動(dòng)將jav【本文來(lái)自鴻網(wǎng)互聯(lián) (http://www.68idc.cn)】a類型的數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的sql類型


7、枚舉類型的映射。如果指定的字段名含有枚舉類型,則在數(shù)據(jù)表中也可以實(shí)現(xiàn)相應(yīng)的存儲(chǔ)。@Enumerated(EnumType.ORDINAL)的方式使得存入的枚舉類型為int類型,@Enumerated(EnumType.STRING)的方式使得存入的值為varchar類型。
8、Annotation建議寫(xiě)在get()方法上,而不是寫(xiě)在屬性上。
小實(shí)驗(yàn):
修改Teacher.java
package com.zgy.hibernate.model;


import java.util.Date;


import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;


@Entity
@Table(name="_teacher")
public class Teacher {
private int id;
private String name;
private String title;
private String address;
private String wifeName;
private Date birth;
private ZhiCheng zhiCheng;
@Id
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Column(name="_name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}

public String getWifeName() {
return wifeName;
}
public void setWifeName(String wifeName) {
this.wifeName = wifeName;
}
@Temporal(TemporalType.DATE)
public Date getBirth() {
return birth;
}
public void setBirth(Date birth) {
this.birth = birth;
}
@Enumerated(EnumType.STRING)
public ZhiCheng getZhiCheng() {
return zhiCheng;
}
public void setZhiCheng(ZhiCheng zhiCheng) {
this.zhiCheng = zhiCheng;
}



}




修改test下的TeacherTesting.java
package com.zgy.hibernate.model;


import static org.junit.Assert.*;


import java.util.Date;


import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;


public class TeacherTesting {
public static SessionFactory sf = null;
@BeforeClass
public static void beforeClass(){
sf = new AnnotationConfiguration().configure().buildSessionFactory();
}
@Test
public void test() {
Teacher t = new Teacher();
t.setId(5);
t.setName("t5");
t.setTitle("高級(jí)");
t.setAddress("北京");
t.setBirth(new Date());
t.setZhiCheng(ZhiCheng.A);

Session session = sf.openSession();
session.beginTransaction();
session.save(t);
session.getTransaction().commit();
session.close();

}


@AfterClass
public static void afterClass(){
sf.close();
}
}

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Hibernate基礎(chǔ)配置

Hibernate基礎(chǔ)配置:三、Hibernate基礎(chǔ)配置 1、如果在Annotation中,類名與真是的數(shù)據(jù)庫(kù)中的表名不同,可以使用增加@Table(name=數(shù)據(jù)庫(kù)中的表名)的方式使其對(duì)應(yīng)。此時(shí),如果數(shù)據(jù)庫(kù)中有這個(gè)表名則會(huì)對(duì)應(yīng)上,如果沒(méi)有這個(gè)表,則會(huì)生成這個(gè)表。同樣的,在XXX.hbm.xml中,
推薦度:
標(biāo)簽: 配置 hi 基礎(chǔ)
  • 熱門(mén)焦點(diǎn)

最新推薦

猜你喜歡

熱門(mén)推薦

專題
Top