我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 盖世程序员 > duplicate import: PaperMaster refers to both
总共48087条微博

动态微博

查看: 1188|回复: 0

duplicate import: PaperMaster refers to both

[复制链接]

326

主题

72

听众

999

金钱

实习版主

该用户从未签到

优秀版主

跳转到指定楼层
楼主
发表于 2014-12-19 15:29:46 |只看该作者 |倒序浏览
问题不大,但如果不知道根源,也会浪费很多无辜的时间。
7 j& k4 x5 U# V8 |/ w1 M
% z. R8 c! K+ a# z' N$ c
$ }! a  P" \9 N/ Y* T8 T/ W1 Q( [8 o& K/ I4 Q5 `
异常信息:
9 g- t2 S2 {1 a/ G5 B( {2 s2 X4 |* ]) f  F& S/ @) ^& _
) ~. W5 W. s9 m: J4 m  m8 x$ m
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 p$ ~6 o8 T/ m) H! o) |' a) d% S        at org.hibernate.cfg.Mappings.addImport(Mappings.java:141)9 T; U4 k% F# m+ @! O7 J3 \
        at org.hibernate.cfg.HbmBinder.bindPersistentClassCommonValues(HbmBinder.java:614); q- }& w8 ?1 Y0 n8 u
        at org.hibernate.cfg.HbmBinder.bindClass(HbmBinder.java:527)
% Y; ~+ Q2 P" t" k# s        at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:271)5 ]$ F! O' L6 ?2 b0 k7 o
        at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:144)
; @# ]: y- ?% ]! h' D" \        at org.hibernate.cfg.Configuration.add(Configuration.java:424)2 c" _" D9 p1 E8 C# B: r4 b
        at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:465)
, |; p. q2 I$ u& i        at org.hibernate.cfg.Configuration.addResource(Configuration.java:520)/ O- x8 m, i8 g4 L  ~2 z6 T
        ... 8 more0 H; A' L" a; ~

- g& @, c; ]7 T9 u0 l9 s/ w+ Q" r
7 }) F# ^. W! C' [4 a1 ^. Z( P
9 Y4 _$ ~6 @* J0 [* J
造成这个异常的原因可能是:
/ @5 ^! y& T. X3 }: V7 w# P' m, ]8 g( B, B$ l7 B
在你的工程里面,有两个TUser4类,比如:cn.com.test01.TUser4与cn.com.Test02.TUser4,虽然位于不同的包,但是会出现 duplicate import异常,解决办法如下:
6 z3 ?& i/ e0 N: m  J$ [& A% \! Z9 a: P7 K  k
1:比较简单的办法,更改其中一个类名。& [1 m  G, ~3 D0 m: V7 J7 m

; r+ }) H6 s8 L( ]2:第二种解决办法,将类TUser4的映射文件,<hibernate-mapping>结点后加上auto-import="false",默认为true,即变成<hibernate-mapping auto-import="false">,但是这样改了以后,千万要注意,在写HQL语句时候,比如"from cn.com.test01.TUser4",一定要加上完整包名,因为你设置了auto-import="false".- G1 z# x" r2 B4 U3 ~8 y

9 r; A4 u4 O% I7 M8 }7 a- u" ~: D0 }7 u3 s) C

科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、科帮网管理员和版主有权不事先通知发贴者而删除本文


JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

快速回复
您需要登录后才可以回帖 登录 | 立即注册

   

关闭

站长推荐上一条 /1 下一条

发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
快速回复 返回顶部 返回列表