通过注解方式配置Hibernate实体

本文介绍Hibernate中使用注解进行实体映射的方法,包括@Entity、@Table、@Id等核心注解,以及@Column、@GeneratedValue等常用注解的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、注解的方式代替配置,更加简单,省去了配置文件。


主配置文件加载映射类;
实体使用注解,指定对应的表、字段等信息:


2、以下三个注解是必须的:
@Entity,注册在类头上,将一个类声明为一个实体entity(即一个持久化POJO类)
@Table(name=""),注册在类头上,注解声明了该实体bean映射指定的表(table)。
@Id:用来标识主属性列


3、其他常用:
@GeneratedValue(strategy=GenerationType.IDENTITY):标记主键生成策略,
@Column,标识列-属性:
name="列名"
length:长度,仅对String类型的字段有效,默认255
unique:该列是否设置唯一 默认false
nullable:该列是否可为空 默认false
时间的注解:
@Column(name = "createTime")
@Temporal(TemporalType.TIMESTAMP)精确到年月日时分秒毫秒


4、hibernate默认实体类的字段是数据库表字段,若不是,需要添加@Transient注解。


以上的@Id、@GeneratedValue、 @Column等可以写在属性也可写在属性对应的getter上。 


其他注解:---了解

@ManyToMany、@ManyToOne等。


附实例

package com.iflytek.cainiao.entity;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

@Entity
@Table(name="user")
public class User implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private Integer id;
	
	@Column(name="userName",length=32,nullable=false,unique=true)
	private String userName;
	
	@Column(name = "createTime")
	@Temporal(TemporalType.TIMESTAMP)
	private Date createTime;

	@Transient
	private String sex;
	
	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}
	
	
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值