求教第一个hibernae程序的配置文件hibernate.cfg.xml出错了,求帮忙解决,如下

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求教第一个hibernae程序的配置文件hibernate.cfg.xml出错了,求帮忙解决,如下相关的知识,希望对你有一定的参考价值。

<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="connection.url">jdbc:sqlserver://222.221.6.171:1433;DatabaseName=look_back</property>
<property name="connection.username">sa</property>.
<property name="connection.password">WhkZzn0$0#</property>

<!-- JDBC connection pool (use the built-in) -->
<!-- <property name="connection.pool_size">1</property> -->

<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>

<!-- Enable Hibernate's automatic session context management -->
<!-- <property name="current_session_context_class">thread</property> -->

<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>

<!-- Drop and re-create the database schema on startup -->
<!-- <property name="hbm2ddl.auto">update</property> -->

<mapping resource="study/hibernate/model/Student.cfg.xml"/>

</session-factory>
报错:he content of element type "session-factory" must match "(property*,mapping*,(class-cache|collection-cache)*,event*,listener*)".

参考技术A <property name="connection.username">sa</property>.
<property name="connection.password">WhkZzn0$0#</property>
两个中间有一点,看看是不是这个问题。。。追问

太牛了,真心佩服,就是这个点了

本回答被提问者采纳

Hibernate入门-----Hiberna核心文件详解

Hiberna核心文件详解映射文件: *.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
    映射文件的dtd信息.打开hibernate.jar,在org.hibernate包中可找到hibernate-mapping-3.0.dtd文件,将dtd约束copy即可.
    <!DOCTYPE hibernate-mapping PUBLIC
            ‘-//Hibernate/Hibernate Mapping DTD 3.0//EN‘
            ‘http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd‘>
    <hibernate-mapping>
        <!-- 类与表的映射制作在class元素上 -->
        <!-- name:全路径实体类名 -->
        <!-- table:表名 -->

        <class name="实体类名" table="数据库中的表明" >
            <!-- 主键的映射对应在id元素上 -->
            <!-- name:对象中用于作为主键的属性名 -->
            <!-- colomn:表中主键字段名 -->
            <!-- 如果name与column值相同,可以省略column -->
            <id name="id" column="id">
                <!-- 将generator元素class属性设置为"assigned" -->
                <generator class="assigned" />
            </id>
            <!-- 其他属性与字段的映射制作在property元素上 -->
            <!-- name:类中的属性名 -->
            <!-- column:表中的字段名 -->
            <!-- 如果name与column值相同,可以省略column -->
            <property name="name" />
            <property name="pwd" />

        </class>
    </hibernate-mapping>

hibernate-mapping元素属性
定义了映射文件的基本信息.

&lt;hibernate-mapping package="包名" schema="数据库schema名 " catalog="数据库catalog名" default-access="property" default-lazy="true" default-cascade="none"&gt;
package :为映射文件中的类指定一个包前缀,这样class中name可以直接写类,不用是全类名
schema : 指定数据库schema名
catalog : 数据库catalog名
default-access : hibernate访问属性时的策略.

property使用getter,setter方法访问成员变量.

field使用反射的方式访问成员变量.

default-cascade : 是否使用默认的级联
default-lazy : 指定使用默认的延时加载策略.默认true
class元素属性
来描述一个持久化的类.

`<class name="持久化类或接口的类名" table="表明" catalog="数据库的catalog名" lazy="true" rowid="" mutable="true">``
name : 持久化类或接口的类名
table : 数据库表名,默认为类名
catalog : 数据库的catalog名
lazy : 是否使用延迟加载
mutable : 类的实例是否可变 ?
rowid : 指定是否可以使用ROWID ?
class元素属性

&lt;id name="类中OID属性名" column="列名" access="" type=""&gt;

name : 类中OID属性名
column : 列名, 默认为属性名
access : 属性访问策略, 会覆盖hibernate-mapping中defalut-access属性
type : 属性的数据类型,一般不写,框架自动填装. 类中一般使用包装类.
主键生成策略——id属性下的generator子元素
assigned :
1.策略是由程序员手工控制输入数据模型OID的一种id生成策略.
2.默认的生成策略.
increment :
1.数据库字段为×××数据类型.
2.策略是由Hibernate内部控制生成OID的一种id生成策略,每次增量+ 1.
3.多个连接同时对一个表进行操作时,可能获取到相同的max值,导致相同id的出现.不能在集群环境下使用.
identity :
1.数据库底层控制生成OID的一种id生成策略.
2.数据库中id字段为整型数值类型,并且要求设置成自增特性
sequence:

数据库底层控制生成OID的一种id生成策略
要求数据库中id字段为整型数值类型
只能应用于提供序列支持的数据库, 如oracle.
native :
1.会根据所使用的数据库类型,在(identity,sequence,hilo)生成策略中自动选择对应的id生成策略
uuid :
1.要求数据库中id字段为字符串类型

property元素属性

&lt;property name="name" unique="false" not-null="true"/&gt;

unique : 该列是否唯一
not-null: 该列是否允许为空
核心配置文件: hibernate.cfg.xml
两种格式:
1.properties属性文件格式,键值对存放信息
2.xml文件格式.最常用
hibernate.cfg.xml文件一般放在src下.发布后会在web-inf/classes路径下.

<?xml version=‘1.0‘ encoding=‘utf-8‘?>
  映射文件的dtd信息.打开hibernate.jar,在org.hibernate包中可找到hibernate-configuration-3.0.dtd文件,将dtd约束copy即可.
  <!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
  <hibernate-configuration>
      <session-factory>
          <!-- 数据库连接的配置 -->
          <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
          <property name="connection.url">jdbc:mysql://localhost:3306/userdb</property>
          <property name="connection.username">root</property>
          <property name="connection.password">123456</property>

          <!-- 可选配置 -->
          <!--是否支持方言  -->
          <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
          <!--执行CURD时是否打印sql 语句  -->
          <property name="show_sql">true</property>
           <!-- 事务是否自动提交 -->
      <property name="connection.autocommit">true</property>

          <!-- 资源注册 -->
          <mapping resource="cn/fy/modle/UserModel.hbm.xml"/>
      </session-factory>
  </hibernate-configuration>

以上是关于求教第一个hibernae程序的配置文件hibernate.cfg.xml出错了,求帮忙解决,如下的主要内容,如果未能解决你的问题,请参考以下文章

windows 下 MyEclipse 逆向工程生成hiberate 对应配置文件以及 javaBean。

运行第二天出现hibernate的错误,org.hibernate.TransactionException: JDBC commit failed at org.hiber

求教用C#实现多语言的程序

winform程序在其中一台电脑上报 无法识别的配置节 的错,求教。。。。

求教一个iis发布程序的有关问题

关于用python写入excel,新手求教