详解 hibernate mapping配置

详解 hibernate mapping配置

每个hibernate只会启动的时候引入一个文件,那就是:hibernate.cfg.xml

mapping需要我们在hibernate中引入,

<mapping resource="com/hibernate/test/hibernate_IP.xml"/>
<mapping class="com.hibernate.test.Student"/>

代码片段:

<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 

<hibernate-mapping package="com.hibernate.test"> 

  <class name="IP_List" table="IP_LIST"> 
    <id name="ip" column="Ip"> 
<generator class="native"></generator> 
    </id> 
    <property name="Status" column="Status"></property> 
  </class> 

</hibernate-mapping>

class标签 对应的name为Java实体类 table为表名;

id为主键  主键自增策略:<generator class="native"></generator>   native会根据不同数据库 采取不同的自增策略

<property>标签对应数据库中的字段 column

package com.hibernate.test;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="Student")
public class Student {
  private int id;
  private String name;

  /**
   * id
   * 
   * @return the id
   * @since CodingExample Ver(编码范例查看) 1.0
   */
  @Id

    @GeneratedValue
  public int getId() {
    return id;
  }

  /**
   * 
   * @param id
   *      the id to set
   */
  public void setId(int id) {
    this.id = id;
  }

  /**
   * name
   * 
   * @return the name
   * @since CodingExample Ver(编码范例查看) 1.0
   */

    @Column(name="name")
  public String getName() {
    return name;
  }

  /**
   * 
   * @param name
   *      the name to set
   */
  public void setName(String name) {
    this.name = name;
  }
}

实体类添加注解:@Entity 对应的表为@Table

主键为@ID   自增策略配置:@GeneratedValue

@Column 注解对应为数据库中的字段

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关推荐