java踩雷系列4-Hibernate(2)eclipse下的Hibernate搭建与配置

现在java有挺多的IDE,如IntelliJ IDEA,Eclipse,NetBeans等等很多
我使用的是eclipse
然后eclipse要如何安装Hibernate插件?
当时着实被这个卡了好久

刚开始我使用的是eclipse4.10
在这里插入图片描述
然后再eclipse的marketplace上搜索JBossTool根本找不到,或者找到了下载之后不能用,甚至导致ide崩溃了

后来发现,jbossTool插件对不同版本的eclipse是一一对应的,这个就很烦,后来害的我重新下载了一个eclipse

然后eclipse本身也是很多版本的,什么水星金星乱七八糟的昵称,刚开始实在弄混了
怎么选择eclipse版本和jbossTool,可以直接去jbossTool的官网上去查
地址:
https://tools.jboss.org/downloads/devstudio/2019-03/12.11.0.GA.html#marketplace

在这里插入图片描述在这里插入图片描述如上图,
Red Hat CodeReady Studio 12.11.0.GA支持的是2019-03版本的eclipse
Red Hat CodeReady Studio 12.9.0.GA 支持的是2018-09版本的eclipse
而我使用的2018-12恰好夹在了他们中间,没有支持的插件(刚开始头都大了,刚开始的方向是找支持2018-12的插件,为此卡了好久)

后来我换了2019-03版本的eclipse

安装方法:
在官网中找到对应你eclipse的插件版本->点击 Eclipse Marketplace
按网站指示将install的那个图标拖动到eclipse内,接下来就按照提示来就好了

安装完成后
右键->new-other
搜索hibernate会出现以下四个东西:
在这里插入图片描述
主要用到的是第一个和第四个
第一个是配置数据库相关连接信息的
第二个是描述表和类映射的

在这里插入图片描述
说一下上述几个参数
hibernate.connection.driver_class 驱动类型
hibernate.dialect 数据库方言
这两个用于指定何种关系型数据库,必须两个互相对应
Default Schema 默认架构名称
不要写,刚开始以为是写数据库名称,后来发现生成的sql语句时都变成了数据库名.表名,然后就会报找不到表的错误
指定数据库在url中指定就行了
这东西一般不怎么用,使用举例:

    use myDB
    go
     
    create schema myschema  --先建立
    go
     
    alter schema myschema transfer dbo.myTable   --移动对象至建立的schema下
    go

Default Catalog:默认目录(最好不要写)
一般建立表最好前面都加上dbo
dbo即是datebase Owner

如果通过用dbo作为所有者来定义对象,能够使数据库中的任何用户引用而不必提供所有者名称。
比如:你以User1登录进去并建表Table,而未指定dbo, 当用户User2登进去想访问Table时就得知道这个Table是你User1建立的,要写上User1.Table,如果他不知道是你建的,则访问会有问题。 如果你建表时把所有者指给了dbo,则别的用户进来时写上Dbo.Table就行了,不必知道User1。
在这里插入图片描述
在这里插入图片描述

HHH000228: Running hbm2ddl schema update
 java.lang.NullPointerException

我写了dbo之后,报了这个错。(暂时也没有特别的清楚,不写就行了,不知道是不是用的sa账号什么的缘故)

最后:url
这个里边指定了IP地址:端口号(注意后面端口号,不同数据库的端口号可能是不同的,甚至这个端口号可以在数据库配置管理工具那边修改,注意务必别写错)
并且指定了数据库名称
username:一般sa或者其他都行
password:密码

其他没出现在上面的重要配置值:

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

是否显示sql语句
这个在调试过程中挺重要的

	<property name="hibernate.current_session_context_class">thread</property>

这个指定了事物的配置,本地事物还是全局事物
全局事物写jta,本地写thread
(这个写了就能getCurrentSession了)

			<mapping
			resource="com/XXX/hbm/XXXX1.hbm.xml" />

这个指定了映射资源文件

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

参考地址: https://www.cnblogs.com/stonefeng/p/5758580.html

举例:

<?xml version="1.0" encoding="UTF-8"?>
<hibernate-configuration>
	<session-factory>
		<property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver
		</property>
		<property name="hibernate.connection.url">jdbc:sqlserver://127.0.0.1:1433;databaseName=XXXX
		</property>
		<property name="hibernate.connection.username">sa</property>
		<property name="hibernate.connection.password">123456</property>

		<property name="show_sql">true</property>
		<property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect
		</property>
		<property name="hibernate.current_session_context_class">thread</property>

		<property name="hibernate.hbm2ddl.auto">update</property>
		<mapping
			resource="com/XXX/hbm/XXXX1.hbm.xml" />
		<mapping
			resource="com/XXX/hbm/XXXX2.hbm.xml" />
	</session-factory>
</hibernate-configuration>

另外 :hibernate配置文件的目录问题:
必须放在资源文件夹下!
以上完成了最基本的配置了

下一篇会粗略的讲一下另一个配置文件 hbm.xml

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值