zoukankan      html  css  js  c++  java
  • hibernate基础配置

    数据库表名和类名

      一致

        注解:可写可不写;

        XML:可写可不写; <class name="Student"> 

      不一致

        注解: 1 @Table(name="_teacher") 2 public class Teacher ,注意导入的是 javax.persistence.Table;

        XML:  <class name="Student" table="_student"> 。

    字段名和属性名

      一致

        注解:@Basic / 不写,没有在字段上加注解相当于加了@Basic;

        XML:如果要在数据库中进行操作的字段那就必须要写,否则数据就不会插入到数据库中

    1 <id name="id"/>
    2 <property name="name"/>

      不一致

        注解: @Column(name="_name") public String getName() ,注意导入的是 javax.persistence.Column;

        XML: <property name="name" column="_name"/> 

    不想保存在数据库中的字段:

      注解:导入 javax.persistence.Transient;

     1     import javax.persistence.Transient;
     2         
     3     private String girlName;
     4 
     5     @Transient
     6     public String getGirlName() {
     7         return girlName;
     8     }
     9 
    10     public void setGirlName(String girlName) {
    11         this.girlName = girlName;
    12     }

      XML:不要持久化的属性不写进XML配置文件就可以了

    映射日期和时间

      注解: 默认是 TIMESTAMP,如果要设置时间精度,有三个可选,DATE只保存日期(年月日),TIME只保存时间(时分秒),TIMESTAMP保存日期和时间:

        

        例子:

    1    private Date birthday;
    2     @Temporal(value=TemporalType.TIMESTAMP)
    3     public Date getBirthday() {
    4         return birthday;
    5     }
    6 
    7     public void setBirthday(Date birthday) {
    8         this.birthday = birthday;
    9     }

      XML:在对应的字段上对 type 进行配置,如图:

    映射枚举类型

      注解:两种类型 ORDINAL在数据库中以int保存,STIRNG以字符串保存

        

        定义枚举类型:

        

    1 package com.bjsxt.hibernate.model;
    2 
    3 public enum ZhiCheng {
    4     A,B,C
    5 }

        设置职称为B: 1 t.setZhiCheng(ZhiCheng.B); 如果映射为ORDINAL,数据保存为0;如果映射为STRING,数据保存为B。

      XML:很麻烦,一般不用。

    FAQ:

    1、注解指定数据库字段的长度?

      注解:Column 的 length 配置;

      XML:propertye 的 length 配置。

    -----------------------------------------------------------------------------------------------------------------------------------------------------------

    字段映射的位置:field 上、方法上。

    放在方法上,这样不会破坏Java的面向对象的封装性;

    best practice:保持field和 get set 方法的一致。

    链接: http://pan.baidu.com/s/1caR1ZS 密码: c24n

    jar包:链接: http://pan.baidu.com/s/1pLM4ch9 密码: q5cp

  • 相关阅读:
    PHP jquery结合HTML5鼠标拖选头像图片并上传
    HTML5 CSS3 SwitchButton 自定义Radio风格
    IE浏览器在虚拟机中无法正常显示字符
    jQuery在updatepanel中使用造成内存泄露
    bootstrap下拉列表重置联动
    bootstrap正则表达式验证手机 座机 邮箱
    bootstrap重置校验方法
    分页
    函数解一元二次方程
    集合
  • 原文地址:https://www.cnblogs.com/ShawnYang/p/6698487.html
Copyright © 2011-2022 走看看