[quote]整合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.*,否则不会被映射,换句话说就是配置映射目录要比实际少一层就可以了 [/quote]
我自己也遇到了这个问题,用的是s1sh整合框架,王哥搭的,自己加模块的时候出现了问题。
简单总结下,复制模块需要改的部分,不全,如下:
1.所有的包名类名 变量名都要注意,其实ctrl+f非常快,但是还是一步一步看着改比较快.
2.还有就是几个配置文件: web.xml applicationContext.xml struts-config.xml 的配置文件一定要仔细 又仔细.
先是web.xml里面 貌似没有啥注意的 需要注意的时候再补充
二是struts-config.xml 这个需要注意的地方很多 由于我用的是struts1 需要注意下
form-bean 需要新建一个 然后就是action 一定要注意
而且我复制模块的时候 jsp页面的地方也出现了小问题 就是在JSP页面中用struts1标签的问题 如下是我当时总结的.
[quote]在jsp页面不用struts1标签,是跳不到*.do的,Strut标签在jsp的声明必须在第二行,不能在String path和basePath的下面。*.do 在web.xml里面就是配置在sturt里,不用strut的标签过不去。[/quote]
然后就是注意下struts-config.xml的配置中action的路径的问题. 现在也迷迷糊糊,还没弄太明白,需要具体问题具体分析
最重要的,这个项目的hibernate的配置文件全都写到了spring的配置文件applicationContext.xml中,这个需要注意的问题:
i.在<property name="mappingResources">中,添加自己模块的包。
ii.加自己模块的那段声明,具体如下:
对了 还要提一点 就是需要改一下在model层的*.hbm.xml文件,也需要改啊,不改写不进表里面去啊. s1好麻烦啊=-=
我自己的改的模块用了一小下午,还出现各种问题,还在调,慢慢来吧,S1SH的整合我真心觉得好复杂啊!!!!
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.*,否则不会被映射,换句话说就是配置映射目录要比实际少一层就可以了 [/quote]
我自己也遇到了这个问题,用的是s1sh整合框架,王哥搭的,自己加模块的时候出现了问题。
简单总结下,复制模块需要改的部分,不全,如下:
1.所有的包名类名 变量名都要注意,其实ctrl+f非常快,但是还是一步一步看着改比较快.
2.还有就是几个配置文件: web.xml applicationContext.xml struts-config.xml 的配置文件一定要仔细 又仔细.
先是web.xml里面 貌似没有啥注意的 需要注意的时候再补充
二是struts-config.xml 这个需要注意的地方很多 由于我用的是struts1 需要注意下
form-bean 需要新建一个 然后就是action 一定要注意
而且我复制模块的时候 jsp页面的地方也出现了小问题 就是在JSP页面中用struts1标签的问题 如下是我当时总结的.
[quote]在jsp页面不用struts1标签,是跳不到*.do的,Strut标签在jsp的声明必须在第二行,不能在String path和basePath的下面。*.do 在web.xml里面就是配置在sturt里,不用strut的标签过不去。[/quote]
然后就是注意下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的整合我真心觉得好复杂啊!!!!