Hibernate,Ext ,Json ,Strut2整合常见错误及解决办法
?
?对Hibernate和Ext,Strut2综合开发经验不多。这次算是第一次,遇到了很多问题,每遇到一个问题,都把他记录起来,简单零散的整理啦一下.还是
1、======================================================================================
使用MyEclipse创建JavaEE5.0的Web项目,在使用Hibernate3.5.1的注解功能时出现错误:
java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z 。
我程序出现找个错误,主要是在建立关系之后,如果实体,没有通过注解建立关系,就不会出现错误。
解决办法:删除对Java EE 5 Libraries的使用。
问题原因:javaee.jar中的部分类与hibernate-jpa-2.0-api-1.0.0.Final.jar存在版本冲突。
但是如果删除了Java EE 5 Libraries,Web的Servelt又使用不了啦.
后面还是降低hibernate的版本为3.3
请高手,指教指教找个问题。
2、======================================================================================
Duplicate class/entity mapping
Could not parse configuration: /hibernate.cfg
Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mapping
Caused by: org.dom4j.DocumentException: FWK005 parse may not be called while pa
sing. Nested exception: FWK005 parse may not be called while parsing.
这些错误的解决方法:
总结:
网上搜索的答案:HibernateSessionFactory 中 getSession() 方法加一个 synchronized 就可以实现.
最终解决之后,还是发现,实体注解配置发生了错误,自己检查注解关系配置。
3、===============================================================================================================
复合主键. 不错的文章.
http://taeky.iteye.com/blog/553220
http://fpjason.iteye.com/blog/544088
这边文字也非常详细:
http://www.ll19.com/bb/topic/109#
4、=========================================================================================================
Oracle里面,创建一个序列
?create sequence hibernate_sequence
?minvalue 1
?maxvalue 999999999
?start with 1
?increment by 1
?cache 20
?cycle;
Oracle里面自动增长主键.
????@Id
??? @GeneratedValue(strategy=GenerationType.AUTO)
??? private Integer?????????? ID?????????????? ;
??? private String??????????? NAME???????????? = "";
??? private String??????????? PATHNAME???????? = "";
5、==================================================================================================================
项目使用hibernate 并使用annotation进行对象映射,开始时提示如下:
Error:org.hibernate.MappingException: An AnnotationConfiguration instance is required to use <mapping } );
measurements,powerSystemResource。这两个都是set集合的变量。
11、======================================================================================================
Ext.
?
如果一个一对多的关系,在查询多的一方的时候,需要在grid里面显示一方的名称.(原只是引用ID)
当添加,多的一方的时候,gird不会立即查询数据库,需要有一下的设置才能够立即查询数据库.
如果要求保存后,立即查询数据库.
实例:
powerSysResource.setALIASNAME ( powerSysResourceAliasName );
powerSysResource.setDESCRIPTION ( powerSysResourceDescription );
powerSysResource.setISAVAILABLE ( powerSysResourceIsAvailable );
powerSysResource.setNAME ( powerSysResourceName );
powerSysResource.setPATHNAME ( powerSysResourcePathName );
powerSysResource.setIntPsrType ( powerSysResourcePsrType );
powerSysResource.setPsrType ( psrTypeService.getPsrTypeByID ( powerSysResourcePsrType ) ); 映射的时候,添加外键的映射,也添加外键对象的映射,。找个地方需要设置type对象,也要设置typeid.
?