Hibernate配置(通过注解配置)
本文主要讲通过注解配置来替换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配置(通过注解配置)的更多相关文章
- Spring MVC 5 + Thymeleaf 基于Java配置和注解配置
Spring MVC 5 + Thymeleaf 注解配置 Spring的配置方式一般为两种:XML配置和注解配置 Spring从3.0开始以后,推荐使用注解配置,这两种配置的优缺点说的人很多,我就不 ...
- hibernate关于一对一注解配置
注解(Annotation),也叫元数据.一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次.它可以声明在包.类.字段.方法.局部变量.方法参数等的前面,用来 ...
- Spring介绍及配置(XML文件配置和注解配置)
本节内容: Spring介绍 Spring搭建 Spring概念 Spring配置讲解 使用注解配置Spring 一.Spring介绍 1. 什么是Spring Spring是一个开源框架,Sprin ...
- SpringMVC基础配置(通过注解配置,非xml配置)
SpringMVC是什么,有多火,我这里就不再啰嗦了,SpringMVC比Struts2好用太多,我在学校的时候私下里两种都接触过,对比之后果断选择了SpringMVC,后来在做Android应用开发 ...
- 关于什么是SpringMVC,和SpringMVC基于xml配置、注解配置、纯注解配置
首先我们先要了解一下,什么是SpringMVC? SpringMVC是Spring框架内置的MVC的实现.SpringMVC就是一个Spring内置的MVC子框架,也就是说SpringMVC的相关包都 ...
- Spring系列(四):Spring AOP详解和实现方式(xml配置和注解配置)
参考文章:http://www.cnblogs.com/hongwz/p/5764917.html 一.什么是AOP AOP(Aspect Oriented Programming),即面向切面编程, ...
- java:Springmvc框架1(基本配置,注解配置,转换器引入)
1.springmvc01:(基本配置) web.xml: <?xml version="1.0" encoding="UTF-8"?> <w ...
- springAop:Aop(Xml)配置,Aop注解配置,spring_Aop综合案例,Aop底层原理分析
知识点梳理 课堂讲义 0)回顾Spring体系结构 Spring的两个核心:IoC和AOP 1)AOP简介 1.1)OOP开发思路 OOP规定程序开发以类为模型,一切围绕对象进行,OOP中完成某个任务 ...
- HIbernate实体类注解配置
一.类级别注解 1.@Entity(name="EntityName") 必须 name为可选,对应数据库中一的个表 2.@Table(name="",cata ...
随机推荐
- 2014ACM/ICPC亚洲区域赛牡丹江站现场赛-I ( ZOJ 3827 ) Information Entropy
Information Entropy Time Limit: 2 Seconds Memory Limit: 65536 KB Special Judge Information ...
- [英语学习]王秒同学《21天TED英语精练团》
第一个分享: Chris Anderson的TED's secret to great public speaking(英音). There's no single formula for a gre ...
- ABAP JSON
1 DATA: lv_em TYPE string, lv_em1 TYPE string. DATA: lt_but021 TYPE TABLE OF but021, lt_but0211 TYPE ...
- MongoDB相关的一些技术文章
安装 win7下安装和配置MongoDB的总结---阿冬专栏
- How to check HTML version of any website
http://howtocheckversion.com/check-html-version-website/ Check HTML version via W3C W3 Consortium ha ...
- 修改phpmyadmin中的默认超时时间
phpmyadmin在使用过程中经常出现"登陆超时(1440秒未活动),请重新登录",很烦 解决方法如下: 第一步: 修改php.ini,找到 session.gc_maxlife ...
- JS窗口
<SCRIPT LANGUAGE="javascript"> <!-- window.open ('page.html', 'newwindow', 'heigh ...
- VMware克隆虚拟机后网络配置
修复克隆虚拟机文件 # vi /etc/udev/rules.d/70-persistent-net.rules # PCI device 0x8086:0x100f (e1000) SUBSYSTE ...
- gcc编译系统
一. C语言编译过程 C语言的编译过程可分为四个阶段: 1.预处理(Preprocessing) 对源程序中的伪指令(即以#开头的指令)和特殊符号进行处理的过程. 伪指令包括:1)宏定义指令: 2)条 ...
- c#截屏功能的实现
using System;using System.Collections.Generic;using System.Drawing;using System.Linq;using System.Ru ...