当前位置:首页>开发>正文

Hibernate的配置文件问题 hibernate有哪些配置文件

2023-04-28 23:46:00 互联网 未知 开发

 Hibernate的配置文件问题 hibernate有哪些配置文件

Hibernate的配置文件问题

一种方法是你自己写过一遍之后把他保存到自己文件下做模板,以后要用到就拿出来复制粘贴.
第二种就是用智能IDE了,Myeclipse或者Intellj都可以
你用myeclipse添加Hibernate活spring的框架进你的项目之后他就会生成相应的application.xml里面有这些配置.

hibernate有哪些配置文件

主要是两类,
1)一个总体用的hibernate.cfg.xml,比如设置数据库用户名、密码、常量、映射文件位置等等信息的地方,这个文件整个hibernate项目只用一个就可;
2)每个实体映射都有一个***.hbm.xml文件,即实体映射文件,里面写的是数据库和实体类的映射配置,包含关系映射或继承映射等等;比如Student.java实体类就用Student.hbm.xml这个映射文件;所以一个hibernate项目往往有多个配置文件。不过这些配置也可以以注解(Annotation)形式写在实体类里面。hibernate支持标准的JPA标准注解。

hibernate的配置文件

这个是hibernate方言,我们在hibernate中写的与数据库有关的东西,用的都是同样的语法,这些语法是与具体数据库无关的,在底层执行的时候,相关的语法实际上是于具体数据库有关的,hibernate要知道你的数据库具体是什么数据库,所以就要设置这个。
不懂追问

如何在hibernate配置文件

Hibernate给人的感受是灵活的,要达到同一个目的,我们可以使用几种不同的办法。就拿Hibernate配置来说,常用的有如下三种方式,任选其一。
在 hibernate.cfg.xml 中加入元素 、,放置在类路径(classpath)的根目录下。 将 hibernate.properties 放置放在类路径的根目录下。 可编程的配置方式,即在程序中配置Hibernate的启动参数、加载映射文件,需要用Configuration接口来实现这一方式。 使用hibernate.cfg.xml是我比较喜欢的方式,一方面xml天生的优势——良好的可读性,让配置的意图一目了然。另一方面这是官方推荐使用的,如果同时在hibernate.cfg.xml和hibernate.properties对Hibernate进行了配置,那么前者将覆盖后者。 hibernate.properties可以非常的简洁明了,并且有一种linux配置文件的风格。以#开始一行的注释,用键值对的方式存储配置参数。

hibernate中的配置文件

如果你指的配置文件是指以hbm结尾的映射文件的话,那么一般来说文件的的命名是和java里的实体类一一对应的,比如你有一个实体类Book.java需要持久化,那么在不使用annotation的情况下你就会有一个Book.hbm的配置文件来描述这个实体怎么对应到数据库的表字段等信息。

在hibernate核心配置文件中下需要配置哪些属性

net.sf.hibernate.cfg.Configuration的一个实例代表了应用程序中所有的Java类到SQL数据库的映射的集合。Configuration用于构造一个(不可变的)SessionFactory。这些映射是从一些XML映射文件中编译得来的。

你可以得到一个Configuration的实例,直接实例化它即可。下面有一个例子,用来从两个XML配置文件(位于classpath)中的映射中初始化:
Configuration cfg = new Configuration()
.addFile("Item.hbm.xml")
.addFile("Bid.hbm.xml")
另外一个(某些时候更好的)方法是让Hibernate自行用getResourceAsStream()来装载映射文件。
Configuration cfg = new Configuration()
.addClass(org.hibernate.auction.Item.class)
.addClass(org.hibernate.auction.Bid.class)
Hibernate 就会在classpath中寻找叫做/org/hibernate/autcion/Item.hbm.xml、/org/hibernate/autcion/Bid.hbm.xml的映射文件。这种方法取消了所有对文件名的硬编码。

Configuration也可以指定一些可选的配置项:
Properties props = new Properties()
...
Configuration cfg = new Configuration()
.addClass(org.hibernate.auction.Item.class)
.addClass(org.hibernate.auction.Bid.class)
.setProperties(props)
Configuration是仅在配置期使用的对象,从第一个SessionFactory开始建立的时候,它就失效了。

2. 获取SessionFactory

当所有的映射都被Configuration解析之后,应用程序为了得到Session实例,必须先得到它的工厂。这个工厂应该是被应用程序的所有线程共享的:
SessionFactory sessions = cfg.buildSessionFactory()
当然,Hibernate并不禁止你的程序实例化多个SessionFactory。在你使用不止一个数据库的时候,这就有用了。

3. 用户自行提供JDBC连接

SessionFactory可以使用一个用户自行提供的JDBC连接来打开一个Session。这种设计可以让应用程序来自己管理JDBC连接:
java.sql.Connection conn = datasource.getConnection()
Session session = sessions.openSession(conn)

// do some data access work
应用程序必须小心,不能在同一个连接上打开两个并行的session!

4. Hibernate提供的JDBC连接

另一种方法就是,你可以让SessionFactory替你打开连接。SessionFactory必须事先知道JDBC连接的参数,有几种不同的方法设置参数:

传递一个java.util.Properties到Configuration.setProperties()方法。

在classpath的根目录中提供hibernate.properties文件。

通过java -Dproperty=value指定使用系统属性。

在hibernate.cfg.xml文件中包含元素。详情见后。

如果你使用这种方法,打开一个Session是非常简单的:
Session session = sessions.openSession() // open a new Session
// do some data access work, a JDBC connection will be used on demand
所有的Hibernate属性名和约束都在net.sf.hibernate.cfg.Environment类中定义。我们讨论一下JDBC连接配置最重要的几项设置:

假若你设置了如下的属性,Hibernate会使用java.sql.DriverManager来得到连接,并建立连接池:

hibernate的配置和数据库的对应问题.

不知道什么意思。但是hibernate好像并不是你这样的吧。
hibernate配置文件和数据库表你只需要生成其中一种就可以了。因为hibernate已经可以帮我们通过hibernate配置文件生成数据库表。或者是根据数据库反向生成hibernate配置文件了。
String设置为int不知道可不可以,因为有些时候会帮我们做类型转换。但是你既要在数据库做表又要弄配置文件是不必要的。

Hibernate配置文件怎么写SQL,并解释下 谢谢

貌似Hibernate配置文件不能写sql吧……只能配置映射关系……sql是在java中写的,然后用hibernate中的HibernateTemplate或者HibernateJDBC调用方法执行sql语句……

最新文章