mysql hibernate uuid_hibernate 用注解方式生成uuid方法

//配置uuid,本来jpa是不支持uuid的,但借用hibernate的方法可以实现。

@GeneratedValue(generator = "uuid")

@GeneratedValue(generator = "uuid") @GenericGenerator(name = "uuid", strategy = "uuid")

加在id的get方法上面

下面具体操作下:

1.同样的 先新建一个java project。

2.导入hibernate插件(选中项目单击鼠标右键-->my eclipse-->project  facets-->hibernate-->next-->新建一个包选中-->next-->去掉上面那个勾-->finsish)。

3.可以发现在src目录下有了一个包 还有一个类。

4.新建一个Teacher类  代码如下:

package com.cqvie;

import javax.persistence.Column;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

@javax.persistence.Entity

@Tablepublic classTeacher {privateString id;privateString name;privateString title;//设置主键

@Id

//配置uuid,本来jpa是不支持uuid的,但借用hibernate的方法可以实现。

@GeneratedValue(generator= "uuid")

@GenericGenerator(name= "uuid", strategy = "uuid")publicString getId() {returnid;

}public voidsetId(String id) {this.id =id;

}publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}publicString getTitle() {returntitle;

}public voidsetTitle(String title) {this.title =title;

}

}

5.配置hibernate.cfg.xml文件:

/p>

"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

com.mysql.jdbc.Driver

jdbc:mysql://localhost/text

root

root

org.hibernate.dialect.MySQLDialect

thread

org.hibernate.cache.NoCacheProvider

true

update

6.将mysql驱动导入项目。

在项目中新建一个文件夹

将驱动放入文件夹

选中驱动鼠标右键 build Path -->add

8.在com.cqvie 包下新建一个测试类TeacherTest

packagecom.cqvie;importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.hibernate.cfg.AnnotationConfiguration;importorg.hibernate.cfg.Configuration;public classtestTeacher {public static voidmain(String[] args) {

Teacher t= newTeacher();

//uuid已经自动生成,不需要手动添加了//t.setId(1);

t.setName("s1");

t.setTitle("教授");//Session session=HibernateSessionFactory.getSession();

Configuration cfg= newConfiguration();

SessionFactory sf=cfg.configure().buildSessionFactory();

Session session=sf.openSession();

session.beginTransaction();

session.save(t);

session.getTransaction().commit();

session.close();

}

}

9.运行结果如下:

4a31136fd6467bb270132650ab0961b2.png

f7b3b391bfb4e402fa1f1b87a409711f.png

这样uuid就生成了!

需要注意的是:

1.id不能再用int类型,而是改用string类型,因为uuid很长而且有字母。

2.需要将映射告诉配置文件

3.注解中添加的包一般都是javax的而不是hibernate的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值