在我的Java/Seam/JbossAS應用程序中,我決定將我的Model類(hibernate實體)外化並將它們移到另一個項目中。該項目生成model.jar,然後由主應用程序使用。 model.jar依賴由Ivy解決。 用Ant構建主要應用程序毫無問題。然後我手動將model.jar複製到'mainapp.ear/lib'目錄中。之後,我部署了應用程序,並且沒有任何問題(儘管我注意到沒有關於找到的映射的日誌信息)。但是,當我想登陸,我得到異常:將實體移動到外部jar包後未映射
javax.el.ELException: javax.ejb.EJBTransactionRolledbackException:
org.hibernate.hql.ast.QuerySyntaxException: AppUser is not
mapped [select u from AppUser u where u.userName = :usernamePar]
有在此期間沒有代碼的變化,只是外化一些類,裝入瓶內。這是否意味着,在編譯主應用程序時需要Model類的源代碼?
您的主應用程序根目錄中是否包含hibernate.cfg.xml文件? – 2011-05-17 16:02:51
@Rafa de Castro Hibernate配置通過persistance.xml文件完成(路徑是'app.ear/app.jar/META-INF/persistence.xml')文件,映射通過註釋完成 - 也許這是問題? – user1293910asd 2011-05-18 07:42:57