Hibernate4 mysql 采用注解(annotation)方式配置入门例子

摘要: 前面的例子中记录了利用传统的hibernate XML 隐射方式配置, 但这种处理方式在近几年已经不流行了,因为要维护太多的XML 配置文件,而且修改之后还得重启应用服务器。近年流行的是用注解方式写程序, 直观,对程序员来说更容易维护,代码更少。所以在前一个例子的基础上,改写成hibernate 注解方式.

前面的例子(参考 hibernate4 mysql xml )中记录了利用传统的hibernate XML 隐射方式配置, 但这种处理方式在近几年已经不流行了,因为要维护太多的XML 配置文件,而且修改之后还得重启应用服务器。近年流行的是用注解方式写程序, 直观,对程序员来说更容易维护,代码更少。所以在前一个例子的基础上,改写成hibernate 注解方式.

1. 拷贝前面的例子,重新命名为一个新的工程


删掉 Stock.xml hibernate映射配置文件, 修改 Stock.java 为如下:

package com.yihaomen.hibernate.domain;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * Model class for Stock
 */

@Entity
@Table(name="stock")
public class Stock implements java.io.Serializable {

	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="STOCK_ID")
	private Integer stockId;
	
	@Column(name="STOCK_CODE", length=10)
	private String stockCode;
	
	@Column(name="STOCK_NAME", length=20)
	private String stockName;

	public Stock() {
	}

	public Stock(String stockCode, String stockName) {
		this.stockCode = stockCode;
		this.stockName = stockName;
	}

	public Integer getStockId() {
		return this.stockId;
	}

	public void setStockId(Integer stockId) {
		this.stockId = stockId;
	}

	public String getStockCode() {
		return this.stockCode;
	}

	public void setStockCode(String stockCode) {
		this.stockCode = stockCode;
	}

	public String getStockName() {
		return this.stockName;
	}

	public void setStockName(String stockName) {
		this.stockName = stockName;
	}

}


这里注意 怎么定义映射那个表,那个字段的。当然还有自动增量的定义,Id,以及生成策略, 先简单介绍一下有如下几种生成策略:
AUTO - 可以是identity column类型,或者sequence类型或者table类型,取决于不同的底层数据库.
TABLE - 使用表保存id值(也就是会为应用的表创建一张专门保存Id的表)
IDENTITY - identity column
SEQUENCE – sequence

这里采用了 AUTO 方式,可以在多个数据库之间切换,自动识别,如果是oracle 应该用 sequence 方式了,具体才用那种方式,根据自己数据库需要,以及程序要求.

2. 更新注解下的hibernate 配置文件



    
        false
        com.mysql.jdbc.Driver
        password
        jdbc:mysql://localhost:3306/yihaomen-hibernate
        root
        org.hibernate.dialect.MySQLDialect
        true
        
       
    



这里的重点是将


替换成



3. 其他配置部分以及程序代码保持原样

运行测试程序,可以但到结果,数据被成功插入到数据库中了,源代码在下面下载:
hibernate4 mysql annotation download

上一篇: Hibernate4 mysql 采用XML 配置方式入门例子
下一篇: Hibernate4 一对一双向主键关联测试例子(xml 配置方式)

Avatar

坎坎坷坷 评论于: 2015-03-28

坎坎坷坷
 评论 ( What Do You Think )
名称
邮箱
网址
评论
验证
   
 

 


  • 微信公众号

  • 我的微信

站点声明:

1、一号门博客CMS,由Python, MySQL, Nginx, Wsgi 强力驱动

2、部分文章或者资源来源于互联网, 有时候很难判断是否侵权, 若有侵权, 请联系邮箱:summer@yihaomen.com, 同时欢迎大家注册用户,主动发布无版权争议的 文章/资源.

3、鄂ICP备14001754号-3, 鄂公网安备 42280202422812号