您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Hibernate基础配置

2026/2/13 12:32:30发布9次查看
三、hibernate基础配置 1、如果在annotation中,类名与真是的数据库中的表名不同,可以使用增加@table(name=数据库中的表名)的方式使其对应。此时,如果数据库中有这个表名则会对应上,如果没有这个表,则会生成这个表。同样的,在xxx.hbm.xml中,也可以配置
三、hibernate基础配置
1、如果在annotation中,类名与真是的数据库中的表名不同,可以使用增加@table(name=数据库中的表名)的方式使其对应。此时,如果数据库中有这个表名则会对应上,如果没有这个表,则会生成这个表。同样的,在xxx.hbm.xml中,也可以配置增加响应的tabel=tablename的配置。
2、所有没有定义注解的属性等价于在其上面添加了@basic注解。
3、属性名与字段名不对应的情况,使用@column(name=数据表的字段名)的方式使其相对应。
4、不需要persistence的字段可以使用@transient的方式进行注解。这样该字段就不会写入数据表中。在xml中,不进行配置就可以了。
5、属性是时间格式的情况下,默认会将年月日时分秒全部存入。可以使用@temporal(temporaltype.date)的形式使其只存入日期,当然,还可以使其存入其他的日期格式。
6、hibernate映射的类型。hibernate会自动将jav【本文来自鸿网互联 (http://www.68idc.cn)】a类型的数据转换为对应的sql类型
7、枚举类型的映射。如果指定的字段名含有枚举类型,则在数据表中也可以实现相应的存储。@enumerated(enumtype.ordinal)的方式使得存入的枚举类型为int类型,@enumerated(enumtype.string)的方式使得存入的值为varchar类型。
8、annotation建议写在get()方法上,而不是写在属性上。
小实验:
修改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;@idpublic 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.javapackage 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;@beforeclasspublic static void beforeclass(){sf = new annotationconfiguration().configure().buildsessionfactory();}@testpublic void test() {teacher t = new teacher();t.setid(5);t.setname(t5);t.settitle(高级);t.setaddress(北京);t.setbirth(new date());t.setzhicheng(zhicheng.a);session session = sf.opensession();session.begintransaction();session.save(t);session.gettransaction().commit();session.close();}@afterclasspublic static void afterclass(){sf.close();}}
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product