在之前的基础上删除hbm.xml映射文件

之后修改实体类内容

  1. /**
  2. * 部门的实体类
  3. * strategy对应的就是主键生成策略
  4. * GenerationType:
  5. * 01.auto:自动选择合适的策略,而且是默认值
  6. * 02.identity:主键自增
  7. * 03.sequence:通过序列产生主键
  8. * 04.table:通过表来生成主键!框架依赖数据库中的表!模拟序列产生主键!
  9. */
  10. @Entity
  11. public class Dept {
  12. @Id
  13. @GeneratedValue(strategy=GenerationType.AUTO)
  14. private Integer deptNo;
  15. private String deptName;
  16. @Transient //忽略映射属性 输出值 null
  17. private String location;
  18. //一个部门对应多个员工
  19. @OneToMany(mappedBy="dept",cascade={CascadeType.ALL})
  20. private Set<Emp> emps=new HashSet<>();
  21. public Integer getDeptNo() {
  22. return deptNo;
  23. }
  24. public void setDeptNo(Integer deptNo) {
  25. this.deptNo = deptNo;
  26. }
  27. public String getDeptName() {
  28. return deptName;
  29. }
  30. public void setDeptName(String deptName) {
  31. this.deptName = deptName;
  32. }
  33. public String getLocation() {
  34. return location;
  35. }
  36. public void setLocation(String location) {
  37. this.location = location;
  38. }
  39. public Set<Emp> getEmps() {
  40. return emps;
  41. }
  42. public void setEmps(Set<Emp> emps) {
  43. this.emps = emps;
  44. }
  45. public Dept(Integer deptNo, String deptName, String location, Set<Emp> emps) {
  46. super();
  47. this.deptNo = deptNo;
  48. this.deptName = deptName;
  49. this.location = location;
  50. this.emps = emps;
  51. }
  52. public Dept() {
  53. super();
  54. }
  55. @Override
  56. public String toString() {
  57. return "Dept [deptNo=" + deptNo + ", deptName=" + deptName
  58. + ", location=" + location + ", emps=" + emps.size() + "]";
  59. }
  60.  
  61. }
  1. /**
  2. * @author 小豆腐
  3. *员工的实体类
  4. */
  5. @Entity
  6. public class Emp {
  7. @Id
  8. @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="seq_emp")
  9. @SequenceGenerator(name="seq_emp",sequenceName="sq_student_id")
  10. private Integer empNo;
  11. private String empName;
  12. private String job;
  13. @Column(name="salary")
  14. private Double sal;
  15. private Date hireDate;
  16. //多个员工属于一个部门
  17. @ManyToOne(fetch=FetchType.LAZY)
  18. @JoinColumn(name="deptNo")
  19. private Dept dept;
  20.  
  21. public Integer getEmpNo() {
  22. return empNo;
  23. }
  24.  
  25. public void setEmpNo(Integer empNo) {
  26. this.empNo = empNo;
  27. }
  28.  
  29. public String getEmpName() {
  30. return empName;
  31. }
  32.  
  33. public void setEmpName(String empName) {
  34. this.empName = empName;
  35. }
  36.  
  37. public String getJob() {
  38. return job;
  39. }
  40.  
  41. public void setJob(String job) {
  42. this.job = job;
  43. }
  44.  
  45. public Double getSal() {
  46. return sal;
  47. }
  48.  
  49. public void setSal(Double salary) {
  50. this.sal = salary;
  51. }
  52.  
  53. public Date getHireDate() {
  54. return hireDate;
  55. }
  56.  
  57. public void setHireDate(Date hireDate) {
  58. this.hireDate = hireDate;
  59. }
  60.  
  61. public Dept getDept() {
  62. return dept;
  63. }
  64.  
  65. public void setDept(Dept dept) {
  66. this.dept = dept;
  67. }
  68.  
  69. public Emp(Integer empNo, String empName, String job, Double salary,
  70. Date hireDate, Dept dept) {
  71. super();
  72. this.empNo = empNo;
  73. this.empName = empName;
  74. this.job = job;
  75. this.sal = salary;
  76. this.hireDate = hireDate;
  77. this.dept = dept;
  78. }
  79.  
  80. public Emp() {
  81. super();
  82. }
  83.  
  84. @Override
  85. public String toString() {
  86. return "Emp [empNo=" + empNo + ", empName=" + empName + ", job=" + job
  87. + ", salary=" + sal + ", hireDate=" + hireDate + ", dept="
  88. + dept + "]";
  89. }
  90. }

在hibernate.cfg.xml中管理 实体类

  1. <!--加载我们配置 注解类 -->
  2. <mapping class="cn.bdqn.bean.Dept" />
  3. <mapping class="cn.bdqn.bean.Emp" />

hibernate12--注解的更多相关文章

  1. 基于spring注解AOP的异常处理

    一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...

  2. [Spring]IoC容器之进击的注解

    先啰嗦两句: 第一次在博客园使用markdown编辑,感觉渲染样式差强人意,还是github的样式比较顺眼. 概述 Spring2.5 引入了注解. 于是,一个问题产生了:使用注解方式注入 JavaB ...

  3. Android注解使用之通过annotationProcessor注解生成代码实现自己的ButterKnife框架

    前言: Annotation注解在Android的开发中的使用越来越普遍,例如EventBus.ButterKnife.Dagger2等,之前使用注解的时候需要利用反射机制势必影响到运行效率及性能,直 ...

  4. Android注解使用之注解编译android-apt如何切换到annotationProcessor

    前言: 自从EventBus 3.x发布之后其通过注解预编译的方式解决了之前通过反射机制所引起的性能效率问题,其中注解预编译所采用的的就是android-apt的方式,不过最近Apt工具的作者宣布了不 ...

  5. spring注解源码分析--how does autowired works?

    1. 背景 注解可以减少代码的开发量,spring提供了丰富的注解功能.我们可能会被问到,spring的注解到底是什么触发的呢?今天以spring最常使用的一个注解autowired来跟踪代码,进行d ...

  6. 编写高质量代码:改善Java程序的151个建议(第6章:枚举和注解___建议88~92)

    建议88:用枚举实现工厂方法模式更简洁 工厂方法模式(Factory Method Pattern)是" 创建对象的接口,让子类决定实例化哪一个类,并使一个类的实例化延迟到其它子类" ...

  7. ASP.NET MVC5----常见的数据注解和验证

    只要一直走,慢点又何妨. 在使用MVC模式进行开发时,数据注解是经常使用的(模型之上操作),下面是我看书整理的一些常见的用法. 什么是验证,数据注解 验证 从全局来看,发现逻辑仅是整个验证的很小的一部 ...

  8. 基于注解的bean配置

    基于注解的bean配置,主要是进行applicationContext.xml配置.DAO层类注解.Service层类注解. 1.在applicationContext.xml文件中配置信息如下 &l ...

  9. Spring注解

    AccountController .java Java代码   1.        /** 2.         * 2010-1-23 3.         */ 4.        packag ...

  10. Spring MVC注解开发入门

    注解式开发初步 常用的两个注解: @Controller:是SpringMVC中最常用的注解,它可以帮助定义当前类为一个Spring管理的bean,同时指定该类是一个控制器,可以用来接受请求.标识当前 ...

随机推荐

  1. oracle 禁用索引

    同步数据的时候 有索引会比较慢 可以暂时禁用索引 --禁用索引 ALTER INDEX PK_T_AUTH_USERROLE_ID UNUSABLE; --恢复索引ALTER INDEX UK_T_A ...

  2. node.js---sails项目开发(2)

    1.安装mongoDB,这里用brew安装 brew install mongodb 2. 启动数据库 mongod 3.再打开一个终端,连接数据库 mongo 4.启动成功后,接下来就是新建一个数据 ...

  3. 在Centos上打Preempt-rt实时补丁(续)

    经过上一篇,发现2.6.31版本的补丁不能正常运行(还未找到原因),现改用2.6.33版本: kernel:linux-2.6.33.9 patch:patch-2.6.33.9-rt 解压并打好补丁 ...

  4. FORM pdf预览功能函数 SSFCOMP_PDF_PREVIEW

     函数模块             SSFCOMP_PDF_PREVIEW Smart Forms: PDF Preview (Test) function ssfcomp_pdf_preview. ...

  5. Appium的Java封装

    文章出处 http://blog.csdn.net/niubitianping/article/details/52612211 一.为什么需要封装? 封装的本意就是为了方便.简洁. 二.Androi ...

  6. s5_day7装饰器作业

    # 一:编写函数,(函数执行的时间是随机的) import time import random # def foo(): # time.sleep(random.randrange(1,5)) # ...

  7. curl简介、安装及使用

    目录 curl简介 curl安装 curl使用 curl简介 curl是Linux下一个强大的文件传输工具,它利用URL语法在命令行方式下工作,支持文件上传和下载. curl安装 Ubuntu系统键入 ...

  8. LigerUI LigerGird IE7/8 下不显示 “in”的操作数无效

    LigerUI IE7/8 下显示 in的操作数无效 修改脚本生成LigerGrid的地方,将最后一列后面的,去掉

  9. Tomcat 线程池配置

    线程池 Executor代表了一个线程池,可以在Tomcat组件之间共享.使用线程池的好处在于减少了创建销毁线程的相关消耗,而且可以提高线程的使用效率.要想使用线程池,首先需要在 Service标签中 ...

  10. anacoda的spyder在调用matplotlib的时候无法显示动画效果【学习笔记】

    ipython console的默认设置将图像结果显示在终端,但是这样显示存在的问题是无法显示动画效果,因此需要将动画效果显示到单独的窗口,按照下面的截图即可显示. 方法一.按照如下截图显示设置,重启 ...