hibernate5.x.x 使用mapping resource 不起作用

今天使用hibernate时报了一个这样的错:”org.hibernate.MappingException: Unknown entity: entity.Grade”,Grade是我的一个实体,也就是说映射不成功,我查了下我的hibernate.cfg.xml,发现使用了mapping resource加载了啊,并且文件名也没有问题,网上搜了下,这里说了解决方法https://www.zhihu.com/question/35419808
好吧就是加上addClass(),但是很不解,难不成我的mapping resource不起作用?于是我就从hibernate.cfg.xml中把这句话删了,加上addClass(),发现能运行成功!我去mapping resource真不起作用。。。
最后各种Google为什么,都找不到答案,这时 我就怀疑我的hibernate版本问题了,因为这个project我初次使用新版5.1.5,看到这里
http://jishu.y5y.com.cn/sinat_32873711/article/details/52979914
我去还真是,于是按照这位博主的方法,重新换了获取Seeeion Factory的方法

StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
.configure().build();
// 创建会话工厂
sessionFactory = new MetadataSources( serviceRegistry ).buildMetadata().buildSessionFactory();
// 会话对象
session = sessionFactory.openSession();

这次删除addClass使用mapping resource总算成功了。

唉,初次接触hibernate,里面好多原理都没懂,还要多挖一下才行!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Spring 3.x 新特性全部介绍 http://static.springsource.org/spring/docs/3.1.0.RELEASE/spring-framework-reference/html/new-in-3.1.html 1、基于annotation的cache服务,这个非常好 这个最早源于spring2.x时代的spring-modules项目中的cache子项目 我自己也曾经仿造者,并且基于aspectj山寨过过aop annotation cache 在大部分简单的cache场景都是非常好用的 少部分需要精确evict key的场景还不适合 具体可以参考 http://static.springsource.org/spring/docs/3.1.0.RELEASE/spring-framework-reference/html/cache.html 2、基于annotation的配置管理 简单地说,就是 @Profile("production") @Profile("dev") 3、基于annotation的环境变量管理 结合2使用 btw:绿色党肯定要对此表示不慢了 4、属性抽象层 结合2,3使用,可以在很多配置处,写出比如这样的表达式 以减少不同环境下,配置文件切换的需要 <import resource="${JAVA_HOME}/com/bank/service/${env}-config.xml"/> 5、xml的什么,不感兴趣 6、hibernate4支持,不感兴趣 7、spring测试框架和2,3,4的结合 8、spring配置文件中namespace的事情,不感兴趣 9、非标准setter类也可以注入了。。。不感兴趣 10、支持Servlet3的某个东东,可以写程序直接启动webapp,而非web.xml,不感兴趣 11、支持servlet3的上传东东,可能是对现有MultipartResolver的加强 12、JPA什么,直接无视 以下都是springmvc的加强,可以注意了 13、可以在controller中,使用annotation临时指定特殊的Mapping或者ExceptionHandler,而且整个体系更加灵活和可扩展。 14、可以限定request的Content-Type了。。。额,略蛋疼的功能 15、Flash的什么,看不懂 16、URI操作被进一步加强了,具体用法得细究 17、request映射时,可以加上@Valid,做更加通用的检查 18、加入了@RequestPart,用来映射文件流 19、加了个什么 UriComponents和对应的Builder,用来构建uri,解决了拼拆字符串的困扰
SSH(struts+spring+hibernate)的jar包 SSH 通常指的是 Struts2 做前端控制器,Spring 管理各层的组件,Hibernate 负责持久化层。 一个请求在Struts2框架中的处理大概分为以下几个步骤: 1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action FilterDispatcher是控制器的核心,就是mvc中c控制层的核心。下面粗略的分析下FilterDispatcher工作流程和原理:FilterDispatcher进行初始化并启用核心doFilter。 Hibernate 的原理 1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件 2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息 3.通过config.buildSessionFactory();//创建SessionFactory 4.sessionFactory.openSession();//打开Sesssion 5.session.beginTransaction();//创建事务Transation 6.persistent operate持久化操作 7.session.getTransaction().commit();//提交事务 8.关闭Session 9.关闭SesstionFactory Struts2使用Filter嵌入自己的框架。配置文件加载顺序为:default.properties -> struts-default.xml -> struts-plugins.xml -> struts.xml -> struts.locale。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值