如果无须Hibernate自己管理数据源,而是直接访问容器管理数据源,Hibernate可使用JNDI(Java Naming Directory Interface,Java命名目录接口)数据源的相关配置。

  连接JNDI数据源的主要配置属性:

    ⊙ hiberante.connection.datasource : 指定JNDI数据源的名字。

    ⊙ hibernate.jndi.url : 指定JNDI提供者的URL,该属性是可选的。如果JNDI与Hibernate持久化访问的代码处于同一个应用中,则无须指定该属性。

    ⊙ hibernate.jndi.class : 指定JNDI InitialContextFactory的实现类,该属性也是可选的。如果JNDI与Hibernate持久化访问的代码处于同一个应用中,则无须指定该属性。

    ⊙ hibernate.connection.username : 指定连接数据库的用户名,该属性是可选的。

    ⊙ hibernate.connection.password : 指定连接数据库的密码,该属性是可选的。

  注意:

    即使使用JNDI数据源,也一样需要指定连接数据库的方言。虽然设置数据库方言并不是必需的,但对于优化持久层访问很有必要。

  XML : 连接Tomcat中的数据源

        <!-- 配置JNDI数据元的JNDI名 -->
<property name="connection.datasource">java:comp/env/jdbc/dstest</property>
<!-- 配置连接数据库的方言 -->
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>

  如果数据源所在的容器支持跨事务资源的全局事务管理,从JNDI数据源获得JDBC连接,可自动参与容器管理的全局事务,而不仅仅是Hibernate的局部事务。

啦啦啦

5 -- Hibernate的基本用法 --4 5 JNDI数据源的连接属性的更多相关文章

  1. 5 -- Hibernate的基本用法 --4 9 其他常用的配置属性

    Hibernate其他常用的配置属性: ⊙ hibernate.show_sql : 是否在控制台输出Hibernate持久化操作底层所使用的SQL语句.只能为true和false两个值. ⊙ hib ...

  2. 5 -- Hibernate的基本用法 --4 深入Hibernate配置文件

    Hibernate的持久化操作离不开SessionFactory对象,这个对象是整个数据库映射关系经过编译后的内存镜像,该对象的openSession()方法可打开Session对象.该对象通常由Co ...

  3. 5 -- Hibernate的基本用法 -- 要点

    Hibernate的基本用法 ⊙ ORM的基本知识 ⊙ ORM和Hibernate的关系 ⊙ Hibernate的基本映射思想 ⊙ Hibernate入门知识 ⊙ 使用Eclipse开发Hiberna ...

  4. Tomcat 6 JNDI数据源详解

    数据库连接池这个概念应该都不陌生,在Java中连接池也就是数据库的连接池,它是一种采用连接复用的思想避免多次连接造成资源的浪费机制. 最常见的连接池就是DBCP和C30P了,在tomcat中默认使用的 ...

  5. Tomcat 6 部署工程总结,使用JNDI数据源配置

    工程需要用JNDI数据源方式部署到tomcat,参考网上文章后,经过配置测试,摸索出来了.     环境说明: 数据库:Oracle9i Web服务器:tomcat-6.0.33 tomcat启动方式 ...

  6. Spring jndi数据源配置方法

    xml配置: <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverMana ...

  7. WebLogic配置JNDI数据源

    一.什么是jndi数据源 JNDI是Java命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一. 我们平时开发web程序的时候, ...

  8. Tomcat下使用c3p0配置jndi数据源

    下载c3p0包: 下载地址:https://sourceforge.net/projects/c3p0/files/?source=navbar 解压后得到包:c3p0-0.9.2.jar,mchan ...

  9. mysql连接超时与jndi数据源配置

    昨天有运营说添加活动不能用了,我就看了一下后台日志,发现访问数据库是报错: at java.lang.Thread.run(Thread.java:722) Caused by: com.mysql. ...

随机推荐

  1. python多线程生产消费

    #!/usr/bin/env python# -*- coding: utf-8 -*- from threading import Threadfrom Queue import Queueimpo ...

  2. python datetime unix时间戳以及字符串时间戳转换

    将python的datetime转换为unix时间戳 import time import datetime dtime = datetime.datetime.now() ans_time = ti ...

  3. org.apache.catalina.LifecycleException异常的处理

    今天调试了很久,重装tomcat都没用,后来发现是xml servlet的url-pattern的配置少写一个"/",添加后启动即可. org.apache.catalina.Li ...

  4. 在ASP.NET CORE下生成PDF文档

    原文链接:https://www.c-sharpcorner.com/article/creating-pdf-in-asp-net-core-mvc-using-rotativa-aspnetcor ...

  5. lr11.0负载测试 real-world schedule 与basic schedule的区别是什么

    real-world schedule 是真实场景模式  可以通过增加ACTION来增加多个用户 basic schedule 是我们以前用的 经典模式  只能设置一次负载的上升和下降

  6. 关于Unity中定时器的简易使用

    定时器 一段指定的时间后执行某个函数或者某个语句 用法 //定时器写法1 flaot total_time; void Update(){ this.total_time += (Time.delta ...

  7. python opencv 学习笔记

    图片缩放 image=cv2.imread('test.jpg')  res=cv2.resize(image,(32,32),interpolation=cv2.INTER_CUBIC)  cv2. ...

  8. c++ const 用法总结

    最近第二次学习c++ , 却总是忘记const的一些用法, 所以记录一下笔记 忒困! A: const指针位于 * 的左边 A : const 修饰指针指向的内容, 则内容为不可变量但指针可变: 称其 ...

  9. 【Vue】VS Code+Vue入门 Helloworld

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. (笔记)Linux下如何查看高CPU占用率线程

    在 Linux 下 top 工具可以显示 cpu 的平均利用率(user,nice,system,idle,iowait,irq,softirq,etc.),可以显示每个 cpu 的利用率.但是无法显 ...