hibernate4整合问题-配置问题,求大神解惑

问题描述

配置问题,求大神解惑

我使用的是applicationContext.xml配置

 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:tx="http://www.springframework.org/schema/tx"
  xmlns:aop="http://www.springframework.org/schema/aop"
  xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd">
  <!-- 配置自动扫描的包 -->
  <context:component-scan base-package="bean"></context:component-scan>

  <!-- 配置数据源 -->
  <!-- 导入资源文件 -->
  <context:property-placeholder location="classpath:db.properties"/>
  <!-- 配置c3p0数据源 -->
  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="user" value="${jdbc.user}"></property>
    <property name="password" value="${jdbc.password}"></property>
    <property name="driverClass" value="${jdbc.driverClass}"></property>
    <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>

    <property name="initialPoolSize" value="${jdbc.initialPoolSize}"></property>
    <property name="maxPoolSize" value="${jdbc.maxPoolSize}"></property>
  </bean>

  <!-- 配置 Hibernate 的 SessionFactory 实例 : 通过Spring 提供的LocalSessionFactoryBean配置-->
  <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <!-- 配置数据源属性 -->
    <property name="dataSource" ref="dataSource"></property>

    <!-- 配置 hibernate 配置文件的名称及位置 -->
    <!-- <property name="configLocation" value="classpath:hibernate.cfg.xml"></property> -->
    <!-- 使用hibernateProperties属性来配置Hibernate原生的属性 -->
    <property name="hibernateProperties">
      <props>
        <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
        <prop key="hibernate.show_sql">true</prop>
        <prop key="hibernate.format_sql">true</prop>
        <prop key="hibernate.hbm2ddl.auto">update</prop>
        <prop key="hibernate.current_session_context_class">thread</prop>
      </props>
    </property>

    <!-- 配置 hibernate 映射文件的位置及名称 , 可以使用通配符-->
    <property name="mappingResources">
     <list>
   <value>bean/card.hbm.xml</value>
     </list>
</property>
  </bean>
     <!--hibernate4必须配置为开启事务 否则 getCurrentSession()获取不到-->
    <bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
         <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>

    <tx:advice id="txAdvice" transaction-manager="txManager">
        <tx:attributes>
            <tx:method name="find*" propagation="REQUIRED" />
            <tx:method name="*" read-only="true"/>
        </tx:attributes>
    </tx:advice>
        <aop:config proxy-target-class="true">
        <!-- <aop:advisor advice-ref="txAdvice" pointcut="execution(* dao.*.*(..))"/> -->
        <aop:pointcut expression="execution(* dao.*.*(..))" id="pointcut"/>
        <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut"/>
    </aop:config>
</beans>

执行

 package test;
import org.hibernate.Session;
import org.hibernate.Transaction;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;

import bean.card;
import bean.test;
public class test1{
    /**
     * @param args
     */

    public static void main(String[] args) {
         SessionFactory sessionFactory = null;
         Configuration configuration = new Configuration().configure();
         ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties())
                .buildServiceRegistry();
            sessionFactory = configuration.buildSessionFactory(serviceRegistry);
          //SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory()  注解为AnnotationConfiguration
            //2. Sesson
            Session session = sessionFactory.openSession();
            //3. 开启事务
            Transaction transaction = session.beginTransaction();
            //4. 执行保存操作
           card t=new card();
            t.setCardid("123");
            t.setCardnum(12221);
            t.setId(12);
            session.save(t);
            //5. 提交事物
          transaction.commit();
            //6. 关闭Session
          session.close();
            //7. 关闭SessionFectory
          sessionFactory.close();
           System.out.println("成功!");
}}

报下面这个错 是为什么呢?
```Exception in thread "main" org.hibernate.HibernateException: /hibernate.cfg.xml not found


解决方案

<!-- <property name="configLocation" value="classpath:hibernate.cfg.xml"></property> -->
<!-- 使用hibernateProperties属性来配置Hibernate原生的属性 -->
    这个文件配置的地方你已经注释掉了,spring扫描的时候,扫描不到,还有就是这个文件需要凡在和applicationContext.xml文件同样的包下面
时间: 2024-10-30 02:41:57

hibernate4整合问题-配置问题,求大神解惑的相关文章

mysql-数据库中的关系表有什么作用 求大神解惑

问题描述 数据库中的关系表有什么作用 求大神解惑 其中一张表叫做关系表,它内部只有两个字段,但全是id,一个是cid,一个是uid 其中两个id都是其他表的主键 我只想问这样记录下他们的id有什么用 或者 说这样关系表存在的意义是什么啊 真心求大神解答 解决方案 实现了一个1:1的关系,这种设计可能是为了把一个表拆开,也可能有历史原因而需要保持原来表的结构不变而增加新的字段. 解决方案二: 可以实现1对多和多对多的关联 例如:a表为用户表 b表为角色表 c表为关系表 通过c表可以实现 一个用户有

android导入第三方包后出错 求大神解惑

问题描述 android导入第三方包后出错 求大神解惑 出现如下错误 Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in

c++-结构体用动态分配内存,突破数量限制怎么搞,求大神解惑

问题描述 结构体用动态分配内存,突破数量限制怎么搞,求大神解惑 那位大神可以发个类似的简单的程序,说明下原理,c++学的不怎么样,要求使用malloc和free动态申请内存.之前是定义个50的数组,怎么弄成根据需求增加的 解决方案 你查一下 malloc 的用法,就知道如何改了.简单的代码:结构体指针 = malloc(sizeof(结构体) * 50);...free(结构体指针); 解决方案二: 判断要开辟的空间是否大于50,如果大于了,先记录下原来内存中的内存,然后释放掉,再开辟一个更大的

imageview-ImageView覆盖问题:如何将图片一直显示在GridView整体控件之上,求大神解惑?

问题描述 ImageView覆盖问题:如何将图片一直显示在GridView整体控件之上,求大神解惑? 我的整体布局是在FramLayout里有个ScrollView滚动视图,然后ScrollView里面放的是GridView加载自定义item,我想在FramLayout整体控件底部显示一个'图片A'并且随时都可以的点击的,就是想让'图片A'飘在屏幕嘴上面,但是当加载GridView中的图片时会挡住那个'图片A'也点击不了,请问怎么解决啊?? 解决方案 这个只是FrameLayout里控件的叠放顺

鲜果联播-android 加入购物车界面实现 急求大神解惑

问题描述 android 加入购物车界面实现 急求大神解惑 最近做购物车,在加入购物车这个界面这里遇到了问题,跪求大神指教,上图是我现在实现的效果,每个属性我都能实现单选效果,也能获得每个属性的id,但是需求要求我做来像淘宝那样,所有的组合都对应一个唯一的价格,并显示在上面,每个组合都有一个库存,如果库存为0的话,按钮会变成灰色,下面是淘宝的效果,比如我点了白色,下面的套餐类型都是有库存的,那么套餐类型下面所有按钮都是亮的(表示可以选中),如果我点了桃粉色,套餐类型下面的套餐四和套餐五就没有库存

编码-BitmapFactory.decodeByteArray为空,求大神解惑

问题描述 BitmapFactory.decodeByteArray为空,求大神解惑 String stra = d.getResult().getImage(); try { byte[] data=null; data = stra.getBytes("UTF-8"); // 为UTF8编码 // 把二进制图片转成位图 Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length,null); image.se

求大神 解惑 回答这个才给面试机会

问题描述 求大神 解惑 回答这个才给面试机会 解决方案 你可以弄三个数组-一个表示河这边剩下的东东-一个表示河上的东东-一个表示河那边的东东-设置一下排斥关系--还有数组有效元素个数-每个时刻数组的状态都必须符合规则-好吧-就说到这里吧-明天休息日我有时间试试--不过我想你把我说的说一遍-应该就可以了--或者你有更好的想法-勇敢的说出来-总会有收获的 解决方案二: 简单一点就,用枚举发法,一种一种情况列举.把符合条件的方案输出 解决方案三: 用枚举的话-要累死人啊--这问题肯定有通用方式的-这涉

access数据库查询有数据,asp.net程序查询没有数据,求大神解惑

问题描述 access数据库查询有数据,asp.net程序查询没有数据,求大神解惑 程序调试图: access数据库查询图: 结果图: 很疑惑啊 为什么数据库查询有数据,这个程序查询竟然没数据 解决方案 没人吗 来个大神解决下呗

acm-ACM的小伙伴进,uva-1584有些小问题求大神解惑

问题描述 ACM的小伙伴进,uva-1584有些小问题求大神解惑 Some DNA sequences exist in circular forms as in the following figure, which shows a circular sequence CGAGTCAGCT", that is, the last symbolT" in CGAGTCAGCT" is connected to the first symbolC". We alway