Unknown entity

引用
整合ssh2.遇到一个问题。在对实体做持久化时报错:
org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: cn.lvlf.ssh.demo.model.User...
...
Caused by: org.hibernate.MappingException: Unknown entity: cn.lvlf.ssh.demo.model.User...
...

可能是路径问题
例如:
你的实体存放目录是com.ss3.demo.entity.test,里面存放着很多实体类。
但是你的packagesToScan就要写成com.ss3.demo.entity.*,千万不要写成com.ss3.demo.entity.test.*,否则不会被映射,换句话说就是配置映射目录要比实际少一层就可以了


我自己也遇到了这个问题,用的是s1sh整合框架,王哥搭的,自己加模块的时候出现了问题。
简单总结下,复制模块需要改的部分,不全,如下:

1.所有的包名类名 变量名都要注意,其实ctrl+f非常快,但是还是一步一步看着改比较快.

2.还有就是几个配置文件: web.xml   applicationContext.xml   struts-config.xml  的配置文件一定要仔细 又仔细.

先是web.xml里面 貌似没有啥注意的 需要注意的时候再补充

二是struts-config.xml   这个需要注意的地方很多  由于我用的是struts1  需要注意下
form-bean 需要新建一个  然后就是action  一定要注意

而且我复制模块的时候   jsp页面的地方也出现了小问题   就是在JSP页面中用struts1标签的问题  如下是我当时总结的.

引用
在jsp页面不用struts1标签,是跳不到*.do的,Strut标签在jsp的声明必须在第二行,不能在String path和basePath的下面。*.do 在web.xml里面就是配置在sturt里,不用strut的标签过不去。


然后就是注意下struts-config.xml的配置中action的路径的问题.  现在也迷迷糊糊,还没弄太明白,需要具体问题具体分析

最重要的,这个项目的hibernate的配置文件全都写到了spring的配置文件applicationContext.xml中,这个需要注意的问题:
i.在<property name="mappingResources">中,添加自己模块的包。
ii.加自己模块的那段声明,具体如下:
<bean name="heenService"
		class="com.grxxh.heen.service.impl.HeenService">
		<property name="heenDAO">
			<ref bean="HeenDAO" />
		</property>
	</bean>
	<bean id="HeenDAO" class="com.grxxh.heen.dao.impl.HeenDAO">
		<property name="sessionFactory">
			<ref bean="sessionFactory" />
		</property>
	</bean>


对了 还要提一点 就是需要改一下在model层的*.hbm.xml文件,也需要改啊,不改写不进表里面去啊. s1好麻烦啊=-=

我自己的改的模块用了一小下午,还出现各种问题,还在调,慢慢来吧,S1SH的整合我真心觉得好复杂啊!!!!

猜你喜欢

转载自alive41.iteye.com/blog/1218716