实体类(注解方式映射)
package pojo;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
@Entity
@Table(name="public.user")
public class User {
private Integer userId;
private String userName;
private String passWord;
@Id
@GeneratedValue(generator="increment")
@GenericGenerator(name="increment", strategy = "increment")
@Column(name = "user_id")
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
@Column(name = "username")
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
@Column(name = "password")
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
}
注解说明
@Entity 注释,标志着这个类为一个实体 bean,它必须含有一个没有参数的构造函数并且在可保护范围是可见的。
@table 注释,允许您明确表的详细信息保证实体在数据库中持续存在。@table 注释提供了四个属性,允许您覆盖的表的名称,目录及其模式,在表中可以对列制定独特的约束。
@Id 和 @GeneratedValue 注释 ,每一个实体 bean 都有一个主键,你在类中可以用 @Id 来进行注释。主键可以是一个字段或者是多个字段的组合,这取决于你的表的结构。默认情况下,@Id 注释将自动确定最合适的主键生成策略,但是你可以通过使用 @GeneratedValue 注释来覆盖掉它。
(未完成) @GenericGenerator(name=“increment”, strategy = “increment”),strategy 和 generator 参数
@Column 注释,用于指定某一列与某一个字段或是属性映射的细节信息。您可以使用下列注释的最常用的属性:
name 属性允许显式地指定列的名称。
length 属性为用于映射一个值,特别为一个字符串值的列的大小。
nullable 属性允许当生成模式时,一个列可以被标记为非空。
unique 属性允许列中只能含有唯一的内容
*.hbm.xml文件方式映射
<?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="pojo">
<class name="User" table="user">
<!-- <id>标签:关联主键-->
<id name="id" column="user_id">
<!--id 元素中的 <generator> 标签用来自动生成主键值-->
<generator class="increment">
</generator>
</id>
<!--name:Java类中的属性名,column:数据库中的列名,type:Hibernate 映射的类型-->
<property name="userName" column="username" type="string"/>
<property name=