<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    解決 Hibernate Annotation 的 "no persistent classes found for query class" 問題

    軟件版本:
    hibernate-3.2.0.cr2
    hibernate-annotations-3.2.0.CR1

    IDE:
    idea 5.1

    以前都是用XDoclet來實現類似Annotation的功能,但是xdoclet的版本更新實在太慢,永遠跟不上hibernate的更新速度,導致很多hibernate新的功能xdoclet都沒辦法支持.還好,jdk5.0有了Annotation,而且hibernate也開始支持Annotation了.

    原來以為從xdoclet轉到Annotation很簡單,沒想到還是遇到了問題,先看代碼:

    ?1package?test;
    ?2
    ?3import?org.hibernate.annotations.Entity;
    ?4
    ?5import?javax.persistence.Id;
    ?6import?java.io.Serializable;
    ?7
    ?8@Entity
    ?9public?class?Flight?implements?Serializable{
    10??Long?id;
    11??String?name;
    12
    13??@Id
    14??public?Long?getId(){
    15????return?id;
    16??}

    17
    18??public?void?setId(Long?id){
    19????this.id=id;
    20??}

    21
    22??public?String?getName(){
    23????return?name;
    24??}

    25
    26??public?void?setName(String?name){
    27????this.name=name;
    28??}

    29
    30??public?boolean?equals(Object?o){
    31????if(this==o)?return?true;
    32????if(o==null||getClass()!=o.getClass())?return?false;
    33
    34????final?Flight?flight=(Flight)o;
    35
    36????if(id!=null?!id.equals(flight.id):flight.id!=null)?return?false;
    37????if(name!=null?!name.equals(flight.name):flight.name!=null)?return?false;
    38
    39????return?true;
    40??}

    41
    42??public?int?hashCode(){
    43????int?result;
    44????result=(id!=null?id.hashCode():0);
    45????result=29*result+(name!=null?name.hashCode():0);
    46????return?result;
    47??}

    48}

    49


    看上去沒什么問題吧?沒想到運行的時候根本跑不起來,老是提示:
    ?????[java]?10:54:55,842??INFO?SessionFactoryObjectFactory:82?-?Not?binding?factory?to?JNDI,?no?JNDI?name?configured
    ?????[java]?org.hibernate.hql.ast.QuerySyntaxException:?Flight?is?not?mapped?[from?Flight]
    ?????[java]?????at?org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:
    180)
    ?????[java]?????at?org.apache.tools.ant.taskdefs.Java.run(Java.java:
    710)
    ?????[java]?????at?org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:
    178)
    ?????[java]?????at?org.apache.tools.ant.taskdefs.Java.execute(Java.java:
    84)
    ?????[java]?????at?org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:
    275)
    ?????[java]?????at?org.apache.tools.ant.Task.perform(Task.java:
    364)
    ?????[java]?????at?org.apache.tools.ant.Target.execute(Target.java:
    341)
    ?????[java]?????at?org.apache.tools.ant.Target.performTasks(Target.java:
    369)
    ?????[java]?????at?org.apache.tools.ant.Project.executeSortedTargets(Project.java:
    1216)
    ?????[java]?????at?org.apache.tools.ant.Project.executeTarget(Project.java:
    1185)
    ?????[java]?????at?org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:
    40)
    ?????[java]?????at?org.apache.tools.ant.Project.executeTargets(Project.java:
    1068)
    ?????[java]?????at?org.apache.tools.ant.Main.runBuild(Main.java:
    668)
    ?????[java]?????at?org.apache.tools.ant.Main.startAnt(Main.java:
    187)
    ?????[java]?????at?org.apache.tools.ant.launch.Launcher.run(Launcher.java:
    246)
    ?????[java]?????at?org.apache.tools.ant.launch.Launcher.main(Launcher.java:
    67)

    看了半天看不出有什么問題,最后終于參考hibernate-annotations-3.2.0.CR1里面單元測試的代碼才發現是這段代碼有問題:

    1import?org.hibernate.annotations.Entity;
    2
    3import?javax.persistence.Id;
    4import?java.io.Serializable;
    5


    要改成:

    1import?javax.persistence.Id;
    2import?javax.persistence.Entity;
    3import?java.io.Serializable;


    原來我用idea開發時,在自動完成的時候想當然地選用了org.hibernate.annotations包下面的annotation,而實際上應該使用javax.persistence包下面的annotation.想想看也很有道理:這樣一來我們的JAVA bean就不用import hibernate的包了,用的都是標準的java包.
    posted on 2006-06-30 11:04 一餐三碗 閱讀(7291) 評論(0)  編輯  收藏 所屬分類: Tips
    主站蜘蛛池模板: 无码欧精品亚洲日韩一区| 久久久久亚洲AV无码专区桃色| 久久久久亚洲AV片无码| 黄 色一级 成 人网站免费| 日韩精品电影一区亚洲| 日本精品久久久久久久久免费| 国产嫩草影院精品免费网址| 亚洲精品无码中文久久字幕| 女性无套免费网站在线看| 亚洲一区二区观看播放| 好爽…又高潮了免费毛片| 在线观看亚洲专区| 亚洲?V乱码久久精品蜜桃 | 亚洲码和欧洲码一码二码三码| 日韩精品成人无码专区免费| 亚洲男人的天堂久久精品| 日本高清免费不卡在线| 老司机福利在线免费观看| 国产亚洲精久久久久久无码77777| 岛国精品一区免费视频在线观看| 亚洲精品蜜桃久久久久久| 久久综合给合久久国产免费| 亚洲色图校园春色| 免费无码成人AV片在线在线播放| 亚洲av永久中文无码精品综合| 亚洲av片一区二区三区| 华人在线精品免费观看| 亚洲成a人不卡在线观看| 日韩精品视频免费观看| 大妹子影视剧在线观看全集免费| 亚洲av日韩av天堂影片精品| 无码国产精品一区二区免费式影视| 鲁死你资源站亚洲av| 亚洲色自偷自拍另类小说| 亚洲视频在线免费看| 成人婷婷网色偷偷亚洲男人的天堂 | 在线a亚洲v天堂网2019无码| 中文字幕在线免费| 亚洲a无码综合a国产av中文| 亚洲AV无码精品色午夜在线观看| 性色av免费观看|