手动配置Hibernate的方法

news2023/12/5 8:01:30

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

前言:一直习惯用MyEclipse自动生成Hibernate,但是对手动配置一直不甚了解,都不好意思说自己是搞java的。所以赶紧复习了一下手动配置,并记录在此,以便常回来看看!

第一步:搭建环境

在Hibernate主页下载hibernate-distribution-3.3.2.GA-dist.zip(这个很难找,一定要耐心!),解压后把根目录的hibernate3.jar和required文件夹里的所有的包、数据库驱动JAR,复制到WEB-INFO的lib里。

然后在项目里build-path刚才复制过来的JAR。

第二步:构建映射

首先创建与数据库表字段对应的实体类(持久化类),必须实现java.io.Serializable接口

然后在所有实体类的同一个包下,创建映射文件,如下:

Hibernate配置文件XXX.cfg.xml示例:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.hibernate.Hebei" table="HEBEI" schema="ORCL">
    <!--name表示实体类全名,table表示对应表名-->
    
        <id name="postcode" type="java.lang.String">
            <column name="POSTCODE" length="10" />
            <!--id及其子元素column表示实体类的属性postcode对应表中的主键POSTCODE-->
            
            <generator class="native" />
            <!--用于指定主键的生成策略,有以下值可选:
            //1.native:由Hibernate根据数据库自行判断生成哪种策略。
            //2.increment:对类型为long、short、int的主键,以自增长的方式生成主键的值,主键将每次递增1。
 			//3.identity:对于SQL Server、DB2、MySQL等支持标识列的数据库,可使主键自增长,但需把主键设为标识列。
 			//4.sequence:对于Oracle、DB2等支持序列的数据库,可实现主键自增长,需要通过param传入序列名字。
 			//5.assigned:主键由应用程序负责生成,无需Hibernate参与。  -->
        </id>
        
        <property name="area" type="java.lang.String">
        <!-- 定义实体类中的属性和数据库表中的字段的对应关系 -->
            <column name="AREA" length="100" not-null="true">
                <comment>考区</comment>
            </column>
        </property>
    </class>
</hibernate-mapping>

第三步:配置运行环境

在src中创建Hibernate的配置文件XXX.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">
<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

<session-factory>
	<property name="dialect"><!-- 用于配置使用的数据库类型 -->
		org.hibernate.dialect.Oracle9Dialect
	</property>
	<property name="connection.url">
		jdbc:oracle:thin:@localhost:1521:orcl
	</property>
	<property name="connection.username">system</property>
	<property name="connection.password">orcl</property>
	<property name="connection.driver_class">
		oracle.jdbc.driver.OracleDriver
	</property>
	<property name="myeclipse.connection.profile">本机</property>
	<property name="show_sql">true</property><!-- 是否显式sql语句,如过true就会在控制台显式sql语句 -->
	<mapping resource="com/hibernate/Hebei.hbm.xml" /><!-- 声明映射文件的位置 -->

</session-factory>

</hibernate-configuration>

转载于:https://my.oschina.net/JiangTun/blog/305644

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://nwjs.net/news/300105.html

如若内容造成侵权/违法违规/事实不符,请联系七分地网进行投诉反馈,一经查实,立即删除!

相关文章

页面回顶

web开发中经常有页面回顶的需求&#xff0c;近期使用&#xff0c;代码较简单&#xff0c;但是很实用&#xff01; html: <a id"goTop" class"go-top" href"#header"><span class"go-top-inner"></span> </a> …

线刷一加5t android 9,一加5/5T 氢OS 9.0稳定四版 侧边工具 通知特效 Magisk 极速流畅 简约实用-刷机之家...

详情一加5/5T刷机包是小编推荐给大家使用的一款线刷包软件&#xff0c;功能丰富&#xff0c;一加5/5T 氢OS 9.0稳定四版 侧边工具 通知特效 Magisk 极速流畅 简约实用 是一加5/5T手机刷机的小帮手&#xff0c;有需要的朋友们不要错过!!刷机需知<<<<•一加手机的刷机…

mysql “group by ”与order by的研究--分类中最新的内容

这两天让一个数据查询难了。主要是对group by 理解的不够深入。才出现这样的情况这种需求&#xff0c;我想很多人都遇到过。下面是我模拟我的内容表我现在需要取出每个分类中最新的内容 select * from test group by category_id order by date结果如下明显。这不是我想要的数据…

python3 字符串格式化

字符串的格式化方法分为两种&#xff0c;分别为占位符(%)和format方式。占位符方式在Python2.x中用的比较广泛&#xff0c;随着Python3.x的使用越来越广&#xff0c;format方式使用的更加广泛。 一 占位符(%) %d 实例(Python3.0)&#xff1a; age 29 print("my age is …

SAX解析XML文件

就目前来说&#xff0c;有三种方式可以解析XML文件&#xff1a;DOM、SAX、StAX。DOM将整个XML文件加载到内存中&#xff0c;并构建出节点树&#xff1b;应用程序可以通过遍历节点树的方式来解析XML文件中的各个节点、属性等信息&#xff1b;这种方式便于对XML节点的添加修改等&…

用 namspace 隔离 DHCP 服务 - 每天5分钟玩转 OpenStack(90)

Neutron 通过 dnsmasq 提供 DHCP 服务&#xff0c;而 dnsmasq 如何独立的为每个 network 服务呢&#xff1f; 答案是通过 Linux Network Namespace 隔离&#xff0c;本节将详细讨论。 在二层网络上&#xff0c;VLAN 可以将一个物理交换机分割成几个独立的虚拟交换机。 类似地&a…

linux内存管理基本概念

1. Linux物理内存三级架构 对于内存管理&#xff0c;Linux采用了与具体体系架构不相关的设计模型&#xff0c;实现了良好的可伸缩性。它主要由内存节点node、内存区域zone和物理页框page三级架构组成。 • 内存节点node 内存节点node是计算机系统中对物理内存的一种描述方法&am…

华为鸿蒙10月17日,华为宣布10月17日重磅新机:鸿蒙系统+全球首发屏下摄像头...

今年华为手机太多大招&#xff0c;Mate30系列旗舰才开售不久&#xff0c;最近又曝光了一款顶级旗舰机&#xff0c;从曝光的真机渲染图来看&#xff0c;这款神秘机型将于10月17日在法国发布&#xff0c;手机渲染图四周超窄边框设计&#xff0c;值得注意的是手机右上角反光条纹&a…

linux 内存管理 page fault带来的性能问题

Linux进程如何访问内存 Linux下&#xff0c;进程并不是直接访问物理内存&#xff0c;而是通过内存管理单元(MMU)来访问内存资源。 原因后面会讲到。 为什么需要虚拟内存地址空间 假设某个进程需要4MB的空间&#xff0c;内存假设是1MB的&#xff0c;如果进程直接使用物理地址…

Linux 自动重启进程

Js代码 #!/bin/sh echo "Current DIR is " $PWD # ignore signal hup int quit tstp trap "" 1 2 3 24 start_server() { ulimit -c unlimited # export LD_LIBRARY_PATHpwd/deps/capn/libs:$LD_LIBRARY_PATH # rm -f *.pid # nohu…

Lucene学习笔记:Field.Store.* 域存储选项

2019独角兽企业重金招聘Python工程师标准>>> Store.YES&#xff1a; 指定存储域值。该情况下&#xff0c;原始的字符串值全部都被保存在索引中&#xff0c;并可以由IndexReader类恢复。该选项对于需要展示搜索结果的一些域很有用(如URL、标题或数据库主键)。如果索引…

第四次作业 孙保平034 李路平029

用C编写一个学生成绩管理系统 1、可以实现以下功能&#xff1a; cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 1.增加学生成绩 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl; 2、用链表存储信息 * 程序头部的注释结束 3、约定的规范&#xff1a; 1界面设计简介&#xff0c;人性化…

linux sar命令 性能监控

目录 1. CPU资源监控 2. inode、文件和其他内核表监控 3. 内存和交换空间监控 4. 内存分页监控 5. I/O和传送速率监控 6. 进程队列长度和平均负载状态监控 7. 系统交换活动信息监控 8.统计网络信息 9. 设备使用情况监控 10.常用命令汇总 sar命令常用格式 sar [optio…

android绘制高亮区域,实现高亮某行的RecyclerView效果

最终效果全部代码&#xff1a;github方式有二组合控件&#xff0c;RecyclerView View自定义RecyclerView1中只需要控制View&#xff0c;但是不好封装。2中需要重写RecyclerView中一些东西&#xff0c;最终就是一个CustomRecyclerView。所以采用的是第二种方法。代码100来行。主…

Android App监听软键盘按键的三种方式

前言: 我们在android手机上面有时候会遇到监听手机软键盘按键的时候&#xff0c;例如&#xff1a;我们在浏览器输入url完毕后可以点击软键盘右下角的“GO”按键加载url页面&#xff1b;在点击搜索框的时候&#xff0c;点击右下角的search符号键可以进行搜索&#xff1b;或者在全…

常用元素位置与大小总结

偏移量 offsetHeight: 元素在垂直方向占据的空间大小 > 内容高度 上下padding 上下boderoffsetWidth: 元素在水平方向占据的空间大小 > 内容宽度 左右padding 左右boderoffsetTop: 元素外边框距离offsetParent的上内边框的距离offsetLeft: 元素外边框距离offsetParen…

android将被代替的控件,Android 控件被忽略的属性

作者&#xff1a;ivm参考了 http://www.cnblogs.com/jisheng/archive/2013/01/10/2854088.html导航栏&#xff1a;1.TextView autoLinkHtml.fromHtml()2.Typeface &#xff1a;设置字体3.Switch 及 togglebutton4.AnalogClock DigitalClock 两个时钟的控件5.5.秒表控件Chronic…

AngularJS 、Backbone.js 和 Ember.js 的比较

2019独角兽企业重金招聘Python工程师标准>>> 译文: http://www.oschina.net/translate/javascript-framework-comparison 原文: http://www.airpair.com/js/javascript-framework-comparison 转载于:https://my.oschina.net/ilivebox/blog/307816

linux “大脏牛”漏洞分析(CVE-2017-1000405)

一、背景简介 脏牛漏洞(CVE-2016–5195)是公开后影响范围最广和最深的漏洞之一&#xff0c;这十年来的每一个Linux版本&#xff0c;包括Android、桌面版和服务器版都受到其影响。恶意攻击者通过该漏洞可以轻易地绕过常用的漏洞防御方法&#xff0c;对几百万的用户进行攻击。尽…

安卓音乐播放器开发实例

本文将引导大家做一个音乐播放器&#xff0c;在做这个Android开发实例的过程中&#xff0c;能够帮助大家进一步熟悉和掌握学过的ListView和其他一些组件。为了有更好的学习效果&#xff0c;其中很多功能我们手动实现&#xff0c;例如音乐播放的快进快退等。 先欣赏下本实例完成…