本文主要讲通过注解配置来替换Hibernate的映射文件


1.多对一配置

package com.jazz7.entity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Transient; // 1.注册bean
@Entity
// 2.和数据库表进行关联,如果名字不同的话,需要在这里指定name
@Table
public class Emp {
// 3.配置id
@Id
//4.配置主键生成策略
@GeneratedValue(generator="empgener",strategy=GenerationType.SEQUENCE)
//配置序列
@SequenceGenerator(name="empgener",sequenceName="seq_emp_id",allocationSize=1,initialValue=1)
private int empno;
private String ename;
private String job;
private Integer mgr;
private Date hiredate;
private float sal;
private Float comm;
//多对一关联
@ManyToOne(targetEntity=Dept.class)
//配置外键
@JoinColumn(name="deptno")
private Dept dept;
// ......省略get()set()
}

2.一对多配置

@Entity
@Table
public class Dept {
@Id
@Column
private int deptno;
private String dname;
private String loc; //一对多配置
@OneToMany(mappedBy="dept")
private Set<Emp> emps;
// ...省略get()set()
}

3.多对多配置

@Entity
@Table(name = "tbl_student")
public class Student {
@Id
@Column
@GeneratedValue(generator = "stname", strategy = GenerationType.SEQUENCE)
@SequenceGenerator(name = "stname", sequenceName = "seq_student_id", allocationSize = 1, initialValue = 1)
private int sid;
private String sname;
// 多对多配置
@ManyToMany(targetEntity=Teacher.class,mappedBy="students")
//配置“关系表”,joinColumns是“本类”在关系表中的外键,inverseJoinColumns是相关联类在关系表中的外键
@JoinTable(name = "tbl_teacher_student", joinColumns ={@JoinColumn(columnDefinition="sid")}, inverseJoinColumns = {@JoinColumn(columnDefinition="tid")})
private Set<Teacher> teachers;
// ...省略get()set()
}

Hibernate配置(通过注解配置)的更多相关文章

  1. Spring MVC 5 + Thymeleaf 基于Java配置和注解配置

    Spring MVC 5 + Thymeleaf 注解配置 Spring的配置方式一般为两种:XML配置和注解配置 Spring从3.0开始以后,推荐使用注解配置,这两种配置的优缺点说的人很多,我就不 ...

  2. hibernate关于一对一注解配置

    注解(Annotation),也叫元数据.一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次.它可以声明在包.类.字段.方法.局部变量.方法参数等的前面,用来 ...

  3. Spring介绍及配置(XML文件配置和注解配置)

    本节内容: Spring介绍 Spring搭建 Spring概念 Spring配置讲解 使用注解配置Spring 一.Spring介绍 1. 什么是Spring Spring是一个开源框架,Sprin ...

  4. SpringMVC基础配置(通过注解配置,非xml配置)

    SpringMVC是什么,有多火,我这里就不再啰嗦了,SpringMVC比Struts2好用太多,我在学校的时候私下里两种都接触过,对比之后果断选择了SpringMVC,后来在做Android应用开发 ...

  5. 关于什么是SpringMVC,和SpringMVC基于xml配置、注解配置、纯注解配置

    首先我们先要了解一下,什么是SpringMVC? SpringMVC是Spring框架内置的MVC的实现.SpringMVC就是一个Spring内置的MVC子框架,也就是说SpringMVC的相关包都 ...

  6. Spring系列(四):Spring AOP详解和实现方式(xml配置和注解配置)

    参考文章:http://www.cnblogs.com/hongwz/p/5764917.html 一.什么是AOP AOP(Aspect Oriented Programming),即面向切面编程, ...

  7. java:Springmvc框架1(基本配置,注解配置,转换器引入)

    1.springmvc01:(基本配置) web.xml: <?xml version="1.0" encoding="UTF-8"?> <w ...

  8. springAop:Aop(Xml)配置,Aop注解配置,spring_Aop综合案例,Aop底层原理分析

    知识点梳理 课堂讲义 0)回顾Spring体系结构 Spring的两个核心:IoC和AOP 1)AOP简介 1.1)OOP开发思路 OOP规定程序开发以类为模型,一切围绕对象进行,OOP中完成某个任务 ...

  9. HIbernate实体类注解配置

    一.类级别注解 1.@Entity(name="EntityName") 必须 name为可选,对应数据库中一的个表 2.@Table(name="",cata ...

随机推荐

  1. 2014ACM/ICPC亚洲区域赛牡丹江站现场赛-I ( ZOJ 3827 ) Information Entropy

    Information Entropy Time Limit: 2 Seconds      Memory Limit: 65536 KB      Special Judge Information ...

  2. [英语学习]王秒同学《21天TED英语精练团》

    第一个分享: Chris Anderson的TED's secret to great public speaking(英音). There's no single formula for a gre ...

  3. ABAP JSON

    1 DATA: lv_em TYPE string, lv_em1 TYPE string. DATA: lt_but021 TYPE TABLE OF but021, lt_but0211 TYPE ...

  4. MongoDB相关的一些技术文章

    安装 win7下安装和配置MongoDB的总结---阿冬专栏

  5. How to check HTML version of any website

    http://howtocheckversion.com/check-html-version-website/ Check HTML version via W3C W3 Consortium ha ...

  6. 修改phpmyadmin中的默认超时时间

    phpmyadmin在使用过程中经常出现"登陆超时(1440秒未活动),请重新登录",很烦 解决方法如下: 第一步: 修改php.ini,找到 session.gc_maxlife ...

  7. JS窗口

    <SCRIPT LANGUAGE="javascript"> <!-- window.open ('page.html', 'newwindow', 'heigh ...

  8. VMware克隆虚拟机后网络配置

    修复克隆虚拟机文件 # vi /etc/udev/rules.d/70-persistent-net.rules # PCI device 0x8086:0x100f (e1000) SUBSYSTE ...

  9. gcc编译系统

    一. C语言编译过程 C语言的编译过程可分为四个阶段: 1.预处理(Preprocessing) 对源程序中的伪指令(即以#开头的指令)和特殊符号进行处理的过程. 伪指令包括:1)宏定义指令: 2)条 ...

  10. c#截屏功能的实现

    using System;using System.Collections.Generic;using System.Drawing;using System.Linq;using System.Ru ...