Annotation版本的HelloWorld

hiberante 的 annotation历史:

在hibernate3以后,开始支持Annotation;

先有hiberante再有JPA,有了JPA标准之后,hibernate写了Annotation来支持JPA;
所以 hibernate的annotation是JPA标准之下的,一般都直接用JPA的annotation,hibernate的annotation只有在极少的情况下才使用。

1、创建teacher表,create table teacher(id int primary key, name varchar(20),title varchar(10));
2、创建 Teacher 类

3、在 hibernate lib 中加入 annotation 的 jar 包

在 hibernate 这个 User Libaray 中添加支持annotation的jar包:

  a) hibernate annotations jar


  b) ejb3 persistence jar
  c) hibernate common annotations jar
  d) 注意文档中没有提到 hibernate common annotations jar 文件

4、参考 Annotation 文档建立对应的注解

为 Teacher 类添加注解

 1 package com.bjsxt.hibernate.model;
 2 
 3 import javax.persistence.Entity;
 4 import javax.persistence.Id;
 5 import javax.persistence.Table;
 6 
 7 @Entity
 8 @Table(name="teacher")
 9 public class Teacher {
10     
11     private Integer id;
12     
13     private String name;
14     
15     private String title;
16 
17     @Id
18     public Integer getId() {
19         return id;
20     }
21 
22     public void setId(Integer id) {
23         this.id = id;
24     }
25 
26     public String getName() {
27         return name;
28     }
29 
30     public void setName(String name) {
31         this.name = name;
32     }
33 
34     public String getTitle() {
35         return title;
36     }
37 
38     public void setTitle(String title) {
39         this.title = title;
40     }
41     
42 }

注意:类属性的注解一般都写在该属性的get方法上,约定俗成:如id属性的注解写在getId()上。

5、在 hibernate.cfg.xml 建立对应映射 <mapping class=... />

  Teacher的映射:<mapping class="com.bjsxt.hibernate.model.Teacher" />

6、参考文档进行测试(注意文档中缺少 configure()的小bug)

 1 import org.hibernate.Session;
 2 import org.hibernate.SessionFactory;
 3 import org.hibernate.cfg.AnnotationConfiguration;
 4 import org.hibernate.cfg.Configuration;
 5 
 6 import com.bjsxt.hibernate.model.Teacher;
 7 
 8 public class TeacherTest {
 9     
10     public static void main(String[] args) {
11         Teacher t = new Teacher();
12         t.setId(1);
13         t.setName("t1");
14         t.setTitle("中级");
15         
16         //改为new AnnotationConfiguration()
17         Configuration cfg = new AnnotationConfiguration();
18         SessionFactory sf = cfg.configure().buildSessionFactory();
19         Session session = sf.openSession();
20         session.beginTransaction();
21         
22         session.save(t);
23         
24         session.getTransaction().commit();
25         session.close();
26         sf.close();
27     }
28     
29 }
View Code

注意 Configuration cfg = new AnnotationConfiguration();

链接: http://pan.baidu.com/s/1eSvHWbg 密码: 63cy

所需jar包:链接: http://pan.baidu.com/s/1dEDKHln 密码: s4bq

FAQ:@不给提示
a) content assist - activation - 加上@,具体参考:http://www.cnblogs.com/ShawnYang/p/6692735.html

转载于:https://www.cnblogs.com/ShawnYang/p/6692523.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自己用java实现飞鸽传书 2 - 实现文件传输

第二步&#xff1a;实现文件传递。 上一步只是从服务端传递了一个字符串到客户端&#xff0c;这次需要对代码进行调整&#xff0c;实现从服务端获取文件&#xff0c;在客户端将文件存入目标地址。 调整后的代码&#xff1a; 服务端&#xff1a; import java.io.DataInputStream…

如何理解JavaScript中给变量赋值,是引用还是复制

一、JavaScript中值的类型 JavaScript中的值分为2大类&#xff1a;基本类型和引用类型。每种类型下面又分为5种类型。 基本类型&#xff1a; 数字类型&#xff1a;Number&#xff1b;字符串类型&#xff1a;String&#xff1b;布尔类型&#xff1a;Boolean(true和false)&#x…

CommonCollection1反序列化链学习

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 CommonsCollection1 1、前置知识 1.1、反射基础知识 1.1.1、 对象与类的基础知识 类&#xff08;class&#xff09;&am…

【英语天天读】第一场雪

作者&#xff1a;gnuhpc 出处&#xff1a;http://www.cnblogs.com/gnuhpc/ --Henry Wadsworth Longfellow The first snow came. How beautiful it was, falling so silently, all day long, all night long, on the mountains, on the meadows, on the roofs of the living, o…

性能测试的目的与类型

1.性能测试的目的 (1)评估系统的能力&#xff1a;测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力&#xff0c;并帮助作出决策&#xff1b;(2)寻找系统瓶颈&#xff0c;进行系统调优&#xff1b;(4)检测软件中的问题&#xff1b;(5)验证稳定性、可靠性&#x…

求三位数的质数

没做出来啊&#xff0c;原来有这么多方法啊。首先&#xff0c;我连质数是什么都不知道&#xff01;质数&#xff1a;只能被本身和1整除的数帖子里回复了不少方法&#xff1a;class Zhishu {public static void main(String[] args) {int count0;for(int i1;i<100;i){count0…

[转]VS2010+MFC解析Excel文件中数据

本文转自&#xff1a;http://www.vcfans.com/2010/08/vs2010-mfc-excel-file-in-the-data-analysis.html 前两天折腾一个小功能&#xff0c;需求是解析Excel中的数据出来。网上一般使用的方案&#xff1a;1. ODBC当数据库来操作。2. 使用第三方的类库3. 使用COM调用Excel.exe中…

MySQL索引机制(详细+原理+解析)

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 MySQL索引机制 永远年轻&#xff0c;永远热泪盈眶 一.索引的类型与常见的操作 前缀索引 MySQL 前缀索引能有效减小索引文…

War-Driving(战争驾驶***)

War-Driving总结性的文章 以后应该不会在到这方面过多的下功夫了。点我下载转载于:https://blog.51cto.com/0x007/1586376

array sort - 4 : merge sort

NULL转载于:https://www.cnblogs.com/roadmap99/p/6698809.html

带研发团队后的日常思考1 初级管理者的困惑

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 带研发团队后的日常思考1 初级管理者的困惑 前言&#xff1a; 本人于2020年4月开始接触管理工作到现在有2年的时间&#…

短连接生成器——让你的url地址长度变短

http://www.henshiyong.com/tools/sina-shorten-url.php 转载于:https://www.cnblogs.com/mangu-uu/archive/2012/10/15/2724290.html

JS函数调用的四种方法

js的函数调用会免费奉送两个而外的参数就是 this 和 arguments 。arguments是参数组&#xff0c;他并不是一个真实的数组&#xff0c;但是可以使用.length方法获得长度。 书上有说4中调用方式&#xff1a; 方法调用模式函数调用模式构造器调用模式apply调用模式下面我们来看看一…

Django项目引入NPM和gulp管理前端资源

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 前言 之前写了一篇《Asp-Net-Core开发笔记&#xff1a;使用NPM和gulp管理前端静态文件》&#xff0c;现在又来用Django开发…

有声听书

各位领导/投资人/用户/合作伙伴&#xff1a; 我们的产品《有声听书》是为了解决中年人&#xff0c;中老年人的痛苦。他们需要丰富生活&#xff0c;但是现有的方案并没有很好地解决这些需求&#xff0c;我们有独特的办法&#xff0c;有戏剧&#xff0c;书的音频能给用户带来好处…

OpenCV笔记(十五)——使用Laplace算子进行图像的边缘检测

在笔记十四中&#xff0c;我们使用了Sobel算子对图像进行边缘检测&#xff0c;理论依据是像素变化最快的地方最有可能是边缘处&#xff0c;所以使用sobel算子对图像做微分&#xff0c;得到的结果图像当中灰度较大的区域&#xff0c;即为边缘处。 在这里&#xff0c;我们使用Lap…

设计模式之:享元模式FlyweightPattern的实现

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 享元模式的理解&#xff1a; 享元模式的定义&#xff1a;运用共享技术支持大量细粒度对象的复用&#xff1b; Flyweight P…

安全公司笔试面试题总结

一IP地址&#xff08;注意地址范围和私有地址的定义&#xff09; IP地址分为五类&#xff0c;A类保留给政府机构&#xff0c;B类分配给中等规模的公司&#xff0c;C类分配给任何需要的人&#xff0c;D类用于组播&#xff0c;E类用于实验&#xff0c;各类可容纳的地址数目不同。…

团队作业3——需求改进系统设计

Deadline&#xff1a; 2017-4-21 22:00PM&#xff0c;以博客发表日期为准 评分基准: 按时交 - 有分&#xff0c;检查的项目包括后文的四个方面 需求&原型改进系统设计Alpha任务分配计划测试计划晚交 - 0分迟交两周以上 - 倒扣本次作业分数抄袭 - 倒扣本次作业分数需求&…

sed基本用法

sed可以替换给定文本中的字符串&#xff0c;通过正则表达式来实现。 例如 sed s/pattern/replace_string/ file 1、后缀/g意味着sed会替换每一处匹配。但是有时候并不需要替换前N处。有一个选项可以忽略前N处匹配&#xff0c;并从N1处开始匹配。 echo this thisthisthis | s…