首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate根本配置

2012-09-06 
Hibernate基本配置1.输出运行的SQL语句和格式化SQL语句:hibernate.cfg.xml添加属性:!-- Echo all execute

Hibernate基本配置

1.输出运行的SQL语句和格式化SQL语句:


hibernate.cfg.xml添加属性:


<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- 格式化输出SQL语句 -->
<property name="format_sql">true</property>

?

2.如果表名和类名不一致,对表名进行设置


a) Annotation:@Table(name="teacher")
b) xml:<class name="Student" table="student">

?

3.如果字段名和属性名不一致


a) Annotation:@Colume(name="title")
b) xml:<id name="id" column="EVENT_ID">
??<property name="date" type="timestamp" column="EVENT_DATE"/>

?

4.如果字段名和属性相同


a)Annotation:默认不写,@Basic
b)xml:不用写column

?

5.不需要persistence的字段


a)Annotation:@Transient
b)xml:不写

?

6.映射日期与时间类型,指定时间精度


a)Annotation:@Temporal(TemporalType.TIME)
b)xml:指定type

?

7.映射枚举类型


a)Annotation:@Enumerated
b)xml:google查询

?

8.字段映射的位置


a)放置在Field前,便于管理,但不符合封装的特性
b)放置在get方法前

?

eg:

package com.bjsxt.hibernate;import java.util.Date;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;import javax.persistence.Basic;import javax.persistence.Column;@Entity@Table(name="_teacher")public class Teacher {private int id;private String name;private String title; private String yourWifeName;private Date birthDate;private boolean good;private Gender gender;@Enumerated(EnumType.STRING)public Gender getGender() {return gender;}public void setGender(Gender gender) {this.gender = gender;}public boolean isGood() {return good;}public void setGood(boolean good) {this.good = good;}@Transientpublic String getYourWifeName() {return yourWifeName;}public void setYourWifeName(String yourWifeName) {this.yourWifeName = yourWifeName;}@Idpublic int getId() {return id;}public void setId(int id) {this.id = id;}//Basec默认,一般不加@Basicpublic String getName() {return name;}public void setName(String name) {this.name = name;}@Column(name="title")public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}@Temporal(TemporalType.TIME)public Date getBirthDate() {return birthDate;}public void setBirthDate(Date birthDate) {this.birthDate = birthDate;}}

?

package com.bjsxt.hibernate;public enum Gender {MALE, FEMALE}

?

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping><class name="com.bjsxt.hibernate.Student" table="_student"><id name="id" /><property name="name" /><property name="age" /><property name="sex" /><property name="good" type="yes_no"></property>    </class></hibernate-mapping>

?

?

热点排行