Hibernate-Annotation初步

Hibernate Annotation 立即下载
使用annotation的作用

使用了annotation后可以自动不用写*.hbm.xml的配置文件。方便省事。

 

使用annotation的相关jar文件

在使用annotation时要用到的jar文件:

 

相关文件

对应的jar文件

hibernate-annotations-3.4.0.GA.zip

hibernate-annotations.jar、lib\ejb3-persistence.jar、lib\hibernate-commons-annotations.jar、lib\slf4j-api.jar

hibernate-distribution-3.3.2.GA-dist.zip

hibernate3.jar、lib\required\*.jar

数据库连接

mysql-connector-java-5.1.10-bin.jar

 

 

使用annotation的一个简单实例

要让一个对象(类)使用annotation应该在一个类的头部加上:@Entity,如

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.Table;

//加了Entity才会使用到annotation,table意为创建的表名为:t_student

@Entity

@Table(name="t_student")

public class Student {

private Integer id;

private String name;

    //让该字段为id,即设置其为主键,自动增加

    @Id

@GeneratedValue(strategy=GenerationType.AUTO)

    //修改字段的长度为5

@Column(length=5)

public Integer getId() {

return id;

}

    //设置字段名为name,修改字段的长度为20

@Column(name="name",length=20)

public String getName() {

return name;

}

public void setId(Integer id) {

this.id = id;

}

    public void setName(String name) {

this.name = name;

}

}

 

 

以上便写好了一个简单的对象,将会创建一张名为:t_student的数据表,有一个主键id和一个name这样两个字段。要使这样一个对象能自动的生成一张数据表还应该在src目录下的hibernate.cfg.xml配置文件中加入:

 

<mapping class="org.zsl.exam.model.Student"/><!-- 包名加对象名 -->

Hibernate.cfg.xml配置文件

Hibernate.cfg.xml配置文件内容如下:

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE hibernate-configuration PUBLIC

        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

 

<hibernate-configuration>

<session-factory>

 

<!-- Database connection settings -->

<property name="connection.driver_class">com.mysql.jdbc.Driver</property>

<property name="connection.url">jdbc:mysql://localhost:3306/exam</property>

<property name="connection.username">exam</property>

<property name="connection.password">exam123</property>

<property name="connection.useUnicode">true</property>

<property name="connection.characterEncoding">UTF-8</property>

 

 

<!-- 数据库方言,这里为MySQL的数据库 -->

<property name="dialect">org.hibernate.dialect.MySQLDialect</property>

 

<!-- Disable the second-level cache  -->

<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

 

<!-- 是否显示sql语句 -->

<property name="show_sql">true</property>

<!-- 自动更新数据库 -->

<property name="hbm2ddl.auto">update</property>

<mapping class="org.zsl.exam.model.Student"/>

</session-factory>

</hibernate-configuration>

Hibernate annotation的一对多

在多的那方加入:

…………

private Teacher teacher;

//说明是多对一

@ManyToOne

//在本表里加入外键的字段名为:tea_id

@JoinColumn(name="tea_id")

public Teacher getTeacher() {

return teacher;

}

    …………

 

在一的那方加入:

    …………

private Set<Student> students;

//说明是一对多,mappedBy指的是在多方对象里指明外键的属性名

//targetEntity表示多方对象

    @OneToMany(mappedBy="teacher",targetEntity=Student.class)

public Set<Student> getStudents() {

return students;

}

    …………

 

Annotation的继承

要使一个对象的annotation被其它对象所继承很简单,只用在父类的头部加上:

@MappedSuperclass

如:

@MappedSuperclass

public class BaseEntity {

 

private Integer id;

 

@Id

@GeneratedValue(strategy=GenerationType.AUTO)

@Column(length=5)

public Integer getId() {

return id;

}

 

public void setId(Integer id) {

this.id = id;

}

}

这样只要继承了BaseEntity的子类都会具有一个主键id

<!--EndFragment-->

hibernate_annotation 孤独的狼-------------hibernate_annotation 注解实现Hibernate映射 立即下载

相关推荐

hibernate-annotation 所需要的jar包

本人初学hibernate,这是所需要的hibernate结合Annotation所需要的基本jar包,希望可以帮助大家,已经成功测试

Hibernate Annotations 注解

@Entity 声明当前是一个持久化类 @Table 设置当前持久化类所映射的数据库表,如果当前类中没有使用@Table注解,Hibernate会自动使用默认的持久化类的类名(不带包名)作为所映射的表名 @Id 设置当前持久化类的标示符属性 @GeneratedValue 设置当前标示符的生产策略。@Generated

oyzl68的专栏 9932

hibernate annotation 中文文档

前言 1. 翻译说明 2. 版权声明 前言 1. 创建一个注解项目 1.1. 系统需求 1.2. 系统配置 2. 实体Bean 2.1. 简介 2.2. 用EJB3注解进行映射 2.2.1. 声明实体bean 2.2.1.1. 定义表(Table) 2.2.1.2. 乐观锁定版本控制 2.2.2. 映射简单属性 2.2.2.1. 声明基本的属性映射 2.2.2.2. 声明列属性 2.2.2.3. 嵌入式对象(又名组件) 2.2.2.4. 无注解之属性的默认值 2.2.. 映射主键属性 2.2.4. 映射继承关系 2.2.4.1. 每个类一张表 2.2.4.2. 每个类层次结构一张表 2.2.4.3. 连接的子类 2.2.4.4. 从父类继承的属性 2.2.5. 映射实体Bean的关联关系 2.2.5.1. 一对一(One-to-one) 2.2.5.2. 多对一(Many-to-one) 2.2.5.3. 集合类型 2.2.5.4. 用cascading实现传播性持久化(Transitive persistence) 2.2.5.5. 关联关系获取 2.2.6. 映射复合主键与外键 2.2.7. 映射二级表(secondary tables) 2.3. 映射查询 2.3.1. 映射EJBQL/HQL查询 2.3.2. 映射本地化查询 2.4. Hibernate独有的注解扩展 2.4.1. 实体 2.4.2. 标识符 2.4.3. 属性 2.4.3.1. 访问类型 2.4.3.2. 公式 2.4.3.3. 类型 2.4.3.4. 索引 2.4.3.5. @Parent 2.4.3.6. 生成的属性 2.4.4. 继承 2.4.5. 关于单个关联关系的注解 2.4.5.1. 延迟选项和获取模式 2.4.6. 关于集合类型的注解 2.4.6.1. 参数注解 2.4.6.2. 更多的集合类型 2.4.7. 缓存 2.4.8. 过滤器 2.4.9. 查询 3. 通过XML覆写元数据 3.1. 原则 3.1.1. 全局级别的元数据 3.1.2. 实体级别的元数据 3.1.3. 属性级别的元数据 3.1.4. 关联级别的元数据 4. Hibernate验证器 4.1. 约束 4.1.1. 什么是约束? 4.1.2. 内建约束 4.1.3. 错误信息 4.1.4. 编写你自己的约束 4.1.5. 注解你的领域模型 4.2. 使用验证器框架 4.2.1. 数据库schema层次验证 4.2.2. Hibernate基于事件的验证 4.2.3. 程序级验证 4.2.4. 验证信息 5. Hibernate与Lucene集成 5.1. 使用Lucene为实体建立索引 5.1.1. 注解领域模型 5.1.2. 启用自动索引 A. 术语表

Hibernate 注解3

新建java project项目: Add Hibernate Capabilities hibernate.cfg.xml 1 &lt;?xml version='1.0' encoding='UTF-8'?&gt; 2 &lt;!DOCTYPE hibernate-configuration PUBLIC 3 "-//Hibernate/Hibe...

qixingbeidou 236

【硬件相关】IB网与以太网核心技术解析及高性能网络部署指南

本文深入解析了IB网与以太网的核心技术差异,包括协议栈、流量控制机制及硬件架构,并提供了高性能网络部署的实战指南。通过对比测试和调优案例,展示了IB网在低延迟和高负载下的优势,以及混合组网中的创新应用,助力超算集群和高效网络部署。

weixin_29311017的博客 99

【清风数学建模笔记】第十一讲:时间序列分析

【清风数学建模笔记】第十一讲:时间序列分析

manerzi的博客 832

hibernate-annotation

Hibernate-Annotation初步   使用annotation的作用 使用了annotation后可以自动不用写*.hbm.xml的配置文件。方便省事。   使用annotation的相关jar文件 在使用annotation时要用到的jar文件:   相关文件 对应的jar文件 hibernate-annotations...

知识林www.zslin.com 207

基于电子海图的水面无人艇全局路径规划

Research and Implementation of Global Path Planning for Unmanned Surface Vehicle Based on Electronic Chart (基于电子海图的水面无人艇全局路径规划)   该论文已经在ICMIR2017会议上发表,附上springer的文献地址 Research and Implementation of Gl...

weixin_30797199的博客 1590

spring和hibernate初步整合(annotation)

bean.xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http:/

遗失的世界 102

Android定位权限全解析:从基础配置到后台持续定位的完整解决方案

本文全面解析Android定位权限体系,从基础配置到后台持续定位的完整解决方案。涵盖LocationManager和FusedLocationProviderClient等主流API的对比选型,详细讲解动态权限申请、精确定位与模糊定位的智能切换,以及Android 10+的后台定位适配策略。帮助开发者构建兼顾精准度与电量友好的定位方案,适用于导航、运动轨迹记录等多种场景。

weixin_29310605的博客 605

[Unity开发] [PICO]避坑指南:PICO商店上传APP时PXR Platform APPID设定详解

PICO开发者上传Unity应用时常见的"APPID不符"问题,主要源于混淆了开发者后台两个不同位置的APPID。

每日出拳老爷子的博客 555

Spring中使用Hibernate3的Annotation

Hibernate3 Annotation的SessionFactory创建需要有两个地方与用mapping resource的方式不同:Configuration需要使用新的org.hibernate.cfg.AnnotationConfiguration需要使用新的mappingClass元素而不是使用mappingResourceorg.springframework.orm.hiberna

张玮的专栏 1万+

[RK3568 Android11] 开发之调试RK809 codec音频-SPK喇叭

目录 前言 一、注册声卡顺序 二、SPK喇叭路由配置 三、tinyalsa调试工具 前言 瑞芯微RK809是一种复杂的功率管理集成电路(PMIC)集成编解码器,适用于由外部电源供电的多核系统应用;同时它也集成了音频编解码器,这样在硬件设计上可以直接使用RK809 codec功能,不必再外挂个其他codec芯片;RK809 codec不仅支持SPK,还支持耳机,MIC功能; 一、注册声卡顺序 设备树dts里面原厂帮我们配置好了rk809_sound,我们直接...

~未来可期~ 7412

Hibernate的Annotation版本的HelloWorld

之前做的那个需要构建Student.hbm.xml文件,如果使用annotation,那么就不用这些东西了。 但是注意,Hibernate的关于annotation的源码包还包括hibernate-annotation.jar, ejb3-persistence.jar, hibernate-common-annoations.jar,官方文档并没有提到hibernate-common-an

superhill的学习笔记 1089

骚戴笔记公告

骚戴笔记公告

我从不打没有准备的仗! 2万+

从零开始学习PX4源码0(固件下载及编译)

本节主要记录从零开始学习PX4源码1(固件下载)的过程,欢迎批评指正!!!下载固件主要分为两个版本,之前稳定版本和最新官网发布版本,为什么要下载两个版本,主要是说明两个版本有一定的差异(开发环境及源码文件格式等),我们是从之前版本开始学习,为什么不从最新的?因为之前版本代码文件格式还是固定的,最新的变化很大,不利于初学者学习,apm和px4不好的地方就是之前版本v1.7.2和最新版本v1.14.0有些文件总是在变化,这样很不好。

陌城烟雨 4616

hibernate对JPA_Annotation的支持实例讲解

JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中.JPA是一种规范,而hibernate是JPA的实现,除了hibernate还有EclipseLink也是JPA的实现.JPA 是 JCP 组织发布的 Java EE 标准之一,因此任何声称符合 JPA 标准的框架都遵循同样的架构,提供相同的访问

陈晓婵 1421

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Hibernate Annotation简单实现

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Font

Benson Wang 专栏 3857

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

使用Annotation开发Hibernate

使用Annotation开发Hibernate Hibernate提供有以下注解: 注解 说明 @Entity 标识当前类为实体类,使用默认 ORM 规则,即类名映射数据库中对应的表名,属性名映射数据表中列名。 @Table 如果类名和数据表名不一致,使用 @Table(name = "数据表名")标识当前类对应的数据表名。 @Id 当前实体类的唯一性标识,通常映射到数据表...

Nicholas_GUB的博客 248

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

10 08Hibernate之利用Annotation开发

在Hibernate的设计初期,考虑到配置文件与程序相分离的特点,所以来讲定义出了一系列的*.hbm.xml文件,目的是让简单Java类与数据表的字段进行一个有效的验证,可是却产生了一个严重的问题——在任何一个中大型项目之中,数据表至少会存在有几百个,那么如果所有的简单Java类都要定义一个与之完全对应的*.hbm.xml文件,那么这回项目就乱了。整个项目完成之后就同时存在有几百个配置文件,如果要修改,要从几百个配置文件之中选择所需要的内容,并且很多时候还会存在有关联问题。 随后在Java行业内考虑到了数据

weixin_43762330的博客 169

hibernate annotation总结

采用hibernate 3.6 final版实验。 类图: 代码: Salesman.java: package basicCar.bean; import java.util.HashSet; import java.util.Set; import javax.persistence.AttributeOverride; import javax.persist

happyunbound的专栏 5160

hibernate mysql annotation_Hibernate_HelloWorld(Annotation版)

二、Hibernate下Hello World Annotaion版 1.创建teacher表 create table teacher(id int primary key , name varchar(20) , title varchar(20)); 2.创建Teacher类,创建对应的Annotation package com.zgy.hibernate.model;import jav...

weixin_42676824的博客 151
上一篇: c:forEach的varStatus属性
下一篇: 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
轻鸿飘羽
博客等级 码龄16年 124粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值