该用户从未签到
|
问题不大,但如果不知道根源,也会浪费很多无辜的时间。( E7 i; Y# d: o' \
' Y% l- o2 g- x& m: G; a
( D n7 U8 ?8 u
* A9 y0 `0 K) A5 p$ {异常信息:0 `: @2 i% x9 Q* R) e
, Q/ f: I+ e0 S9 m" }8 B
& w* p/ r P! l2 M, Z/ f
Caused by: org.hibernate.DuplicateMappingException: duplicate import: TUser4 refers to both com.alcatel.cn.hibernate.ORMapping.onetomany.pojo.TUser4 and com.alcatel.cn.hibernate.chaper04.pojo.TUser4 (try using auto-import="false")
4 H5 s' C, `7 U6 Y- L: f at org.hibernate.cfg.Mappings.addImport(Mappings.java:141); f! T" e$ @3 x
at org.hibernate.cfg.HbmBinder.bindPersistentClassCommonValues(HbmBinder.java:614)3 J8 G6 j- o. H5 O% D
at org.hibernate.cfg.HbmBinder.bindClass(HbmBinder.java:527). ]' v5 G* K- M
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:271)
8 e- M) @3 C6 T0 d at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:144)
& S* M9 H$ p5 G at org.hibernate.cfg.Configuration.add(Configuration.java:424)
+ d o& |6 w' a4 N! Z at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:465)9 D2 h- p( Q3 Y3 I& F4 N
at org.hibernate.cfg.Configuration.addResource(Configuration.java:520) x5 K+ f+ \2 J2 a
... 8 more
& n& ?! Z$ d8 J# e& K. I8 ~
2 }. L ~4 J4 g6 U
. F& Q" x% @6 a1 z9 T4 q8 r1 e% m' f$ ]
& C4 {% K! F3 f. d1 o# n
造成这个异常的原因可能是:
" w' l( ~3 q7 b2 i8 d0 R: ~) Z) d/ u
在你的工程里面,有两个TUser4类,比如:cn.com.test01.TUser4与cn.com.Test02.TUser4,虽然位于不同的包,但是会出现 duplicate import异常,解决办法如下:
$ s. B% l4 A6 }9 ^2 z9 z+ I; B0 W
* C0 W6 C7 a) k* b1:比较简单的办法,更改其中一个类名。7 f( d" X- W- g' G, J9 R8 S; |
, |$ a9 U4 ?5 D" v( w
2:第二种解决办法,将类TUser4的映射文件,<hibernate-mapping>结点后加上auto-import="false",默认为true,即变成<hibernate-mapping auto-import="false">,但是这样改了以后,千万要注意,在写HQL语句时候,比如"from cn.com.test01.TUser4",一定要加上完整包名,因为你设置了auto-import="false".
/ ^4 V# G& j; ]$ D ]; [
+ i( }" @3 g! i8 [. |2 e/ ]8 e5 ]% l1 A* Q% U5 N2 ?
|
|