Hibernate之Annotation(注解的方式,非映射)
在hibernate 3.0之后,可以建立一个符合JPA标准的Annotation,以hibernate3.3.2GA为例
Annotation 以 hibernate Annotation 3.3.0GA为例
我们需要在根目录下面获取:
hibernate-annotations.jar //反正是必须的包
我们需要在Annotation 3.3.0GA内的lib文文件夹下面获取:
1、hibernate-commons-annotations.jar //进行反射的时候需要的一个包
2、ejb3-persistence.jar //符合了JPA标准的这样的Annotation的实现
实际上,hibernate就是JPA的一种实现之一,所以,Annotation并不依赖于hibernate。
添加完所需要的3个包之后,现在需要hibernate的必需包共有11个:(包括现在的3个)
然后,我们定义好我们所需要的实体类,比如,Teacher.java 代码如下:
package com.cyh.hibernate.model;
import javax.persistence.Entity; //JPA标准
import javax.persistence.Id;
@Entity //用于标记需要映射的实体类
public class Teacher {
private int id;
private String name;
private String title;
//主键,最好的做法就是在get方法上面添加@Id,这个是因为get方法上面的名称一般都是主键
@Id
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
然后,再在我们的hibernate.cfg.xml配置文件中的<session-factory>标签添加映射关系,原先通过hbm方法的映射是需要具体的路径的,而现在我们需要做的是,仅仅是:
<!-- 这个我们就是为了要告诉别人,有一个类,是被我加了映射了,是我们的teacher实体类 -->
<mapping class="com.cyh.hibernate.model.Teacher"/>
这样,我们就可以通过Annotation的方法来对数据库进行操作了,唯一与hbm映射文件有区别的是,就是代码:Configuration cfg = new Configuration();
变成了Configuration cfg = new AnnotationConfiguration();这个也是一个关键的地方。
Hibernate之Annotation(注解的方式,非映射)的更多相关文章
- Hibernate的Annotation注解
当项目变得比较大的时候,如何还使用hbm.xml文件来配置Hibernate实体就会变得比较复杂.这里Hibernate提供了Annotation注解方式,使得Hibernate的映射文件变得很方便管 ...
- spring+hibernate实体类注解详解(非原创) + cascade属性取值
@Entity //继承策略.另一个类继承本类,那么本类里的属性应用到另一个类中 @Inheritance(strategy = InheritanceType.JOINED ) @Table(nam ...
- hibernate用注解的方式实现orm
hibernate 有两种方式实现把一张表映射成一个对象,一种是配置文件的方式,一种是注解的方式.这里用hibernate提供的注解的方式实现一个对象和一张表之间的对应. 思路: 首先在hiberna ...
- 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring声明式事务管理(基于Annotation注解方式实现)
在 Spring 中,除了使用基于 XML 的方式可以实现声明式事务管理以外,还可以通过 Annotation 注解的方式实现声明式事务管理. 使用 Annotation 的方式非常简单,只需要在项目 ...
- hibernate annotation注解方式来处理映射关系
在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,我在试了这两种方式 ...
- hibernate笔记--使用注解(annotation)方式配置单(双)向多对一的映射关系
前面几篇都是介绍的用配置文件来实现实体类到数据库表的映射,这种方式是比较麻烦的,每一个pojo类都需要写一个相应的*.hbm.xml,无疑增加了很多代码量,不过也有优点就是利于维护,为了方便开发,Hi ...
- spring与hibernate整合配置基于Annotation注解方式管理实务
1.配置数据源 数据库连接基本信息存放到properties文件中,因此先加载properties文件 <!-- jdbc连接信息 --> <context:property-pla ...
- Hibernate 零配置之Annotation注解
JPA规范推荐使用Annotation来管理实体类与数据表之间的映射关系,从而避免同时维护两份文件(Java 实体类 和 XML 映射文件),将映射信息(写在Annotation中)与实体类集中在一起 ...
- 【spring boot】14.spring boot集成mybatis,注解方式OR映射文件方式AND pagehelper分页插件【Mybatis】pagehelper分页插件分页查询无效解决方法
spring boot集成mybatis,集成使用mybatis拖沓了好久,今天终于可以补起来了. 本篇源码中,同时使用了Spring data JPA 和 Mybatis两种方式. 在使用的过程中一 ...
随机推荐
- python 笔记(一) —— 不要误用 ++i、--i
ilocker:关注 Android 安全(新手) QQ: 2597294287 在 python 中也可以写 ++i,但含义完全不同于 c/c++.python 的 ++i 并不是将 i 自增 1, ...
- KVM 介绍(5):libvirt 介绍 [ Libvrit for KVM/QEMU ]
学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...
- Java Web开发之Servlet获取ckeditor内容
js: <!-- ckeditor插件 --> <script type="text/javascript" src="js/ckeditor/cked ...
- 前端这条路怎么走,作为一名后端er,说说我的见解
近期都游荡在各大群里看大家的讨论,经常看到关于程序员生涯的一些讨论,颇有感触,最近的国庆的确过得有些堕落,都没怎么更新,仔细相信还是应该分享点经验给大家的!想必大家都经历过面试,这是进入一家公司的必要 ...
- Google类VR设备知识
前言 本文所指的google类vr设备是指: 谷歌的Cardboard.三星Gear VR.暴风魔镜等这样的手机VR盒子,而并不是HTC Vive这类. 人眼立体感知能力 人的左右眼看到的东西是有差别 ...
- [No000047]好的架构源于不停地衍变,而非设计
对很多创业公司而言,随着业务增长,网站的流量也会经历不同的阶段.从十万流量到一百万流量,再从一百万流量跨越到一千万甚至上亿的流量,网站的架构需要经历哪些变化?在"OneAPM 技术公开课&q ...
- iOS ARC内存管理
iOS的内存管理机制,只要是iOS开发者,不管多长的时间经验,都能说出来一点,但是要深入的理解.还是不简单的.随着ARC(自动管理内存)的流行.iOS开发者告别了手动管理内存的复杂工作.但是自动管理内 ...
- jquery两个滚动条样式
jquery两个滚动条样式 点击下载
- Java命令行的执行参数
Java 程序命令行参数说明 启动Java程序的方式有两种: # starts a Java virtual machine, loads the specified class, and invok ...
- TP框架中用tp模版迁移smarty模版的注意事项
ThinkPHP使用Smarty模板引擎的流程及注意事项在多人合作的项目中,Smarty模板使用的最多,具体原因百度. 而ThinkPHP中默认使用的模板是Think自己的模板,这就需要修改默认的模板 ...