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 类添加注解

 package com.bjsxt.hibernate.model;

 import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table; @Entity
@Table(name="teacher")
public class Teacher { private Integer id; private String name; private String title; @Id
public Integer getId() {
return id;
} public void setId(Integer 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;
} }

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

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

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

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

 import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration; import com.bjsxt.hibernate.model.Teacher; public class TeacherTest { public static void main(String[] args) {
Teacher t = new Teacher();
t.setId(1);
t.setName("t1");
t.setTitle("中级"); //改为new AnnotationConfiguration()
Configuration cfg = new AnnotationConfiguration();
SessionFactory sf = cfg.configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction(); session.save(t); session.getTransaction().commit();
session.close();
sf.close();
} }

注意 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

最新文章

  1. 常用HiveQL总结
  2. .NET ORM 哪家强
  3. 模板引擎 Velocity
  4. cocos2dx 利用CCOrbitCamera实现扑克牌翻牌效果
  5. 找出诡异的Bug:数据怎么存不进去
  6. Restful?
  7. HDU 1051 Wooden Sticks 贪心||DP
  8. Java发送新浪微博的问题
  9. ASP.NET windows验证IIS配置
  10. Eclipse知识
  11. dict、defaultdict 和 OrderedDict 比较
  12. JS继承(一)
  13. Jenkins+PowerShell持续集成环境搭建(二)控制台项目
  14. P1101 单词方阵 简单dfs
  15. Django与缓存
  16. java Scanner类注意事项
  17. linux centos 7 下安装ElasticSearch5.4
  18. 【BZOJ 3443】 3443: 装备合成 (离线+线段树)
  19. 浅谈Supermap iClient for JavaScript 弹窗类
  20. [c++] Getting Started - CMake

热门文章

  1. CF1076D Edge Deletion 最短路径树+bfs
  2. SprimgMVC学习笔记(五)—— Controller方法返回值
  3. js 返回 差 集
  4. setlocal 本地变量详解
  5. thinkPHP5.0分页传参
  6. SQL Server Reporting Service(SSRS) 第四篇 SSRS 常见问题总结
  7. bootstrap3-dialog:更强大、更灵活的模态框(封装好的模态框)
  8. gcc标准,c++中的inline
  9. nginx的反向代理功能和负载均衡
  10. mybatis连接mysql数据库实现的jdbc功能