hibernate怎么用标签映射表

如题所述

10.1 实体类的映射
从Java的角度讲,实体类就是普通的Java封装类(有人称为POJO有人称为VO)。仅从实体类中的代码信息,Hibernate并不能得知该实体类对应哪个数据表,因此还需要以某种方式配置一下。常用的方式有*.hbm.xml文件配置与@注解配置两种。
hbm.xml文件就是普通的xml文件,hbm为Hibernate Mapping的缩写,这样从文件名上就能判断该文件为Hibernate实体类配置文件。在JPA出现之前,Hibernate都使用hbm.xml文件配置。JPA出现后,推荐使用JPA的@注解配置,因为对于所有的ORM框架,@注解都是通用的。
10.1.1 使用@注解配置实体类
实体类一般有ID、普通属性、集合属性等,分别对应数据库的主键、普通列、外键。@注解配置中,实体类用@Entity注解,用@Table指定对应的数据表,用@Id配置主键,用@Column配置普通属性,用@OneToMany、@ManyToOne、@OneToOne、@ManyToMany配置实体间关系等。实体类之间的关于在后面的章节中会做详细介绍。下面编写一个UsersVo类,在该类中使用@注解配置实体类的映射,UsersVo类的代码如下:
package com.cn.vo;
import javax.persistence.*;
@Entity // 注解Entity表示该类纳入Hibernate管理,能够被持久化
@Table(name = "users") // 指定该实体类对应的数据库表名
public class UsersVo {
// Fields
@Id // 指定该列为主键。
// 这个注解用来表示主键类型, auto为数据库自增长类型
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;

@Column(name = "name") //指定变量对应的数据库表的列为"name"
private String name;

@Column(name = "age")//指定变量对应的数据库表的列为"age"
private int age;

@Column(name = "tel")//指定变量对应的数据库表的列为"tel"
private String tel;

@Column(name = "address")//指定变量对应的数据库表的列为"address"
private String address;

// Constructors

public UsersVo() {
}

public UsersVo(int id) {
this.id = id;
}

public UsersVo(int id, String name, int age, String tel,
String address) {
this.id = id;
this.name = name;
this.age = age;
this.tel = tel;
this.address = address;
}

public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
温馨提示:答案为网友推荐,仅供参考
相似回答