2012-11-03 133 views
0

我創建了一個使用Netbeans和選定的Glassfish 3.1作爲服務器的項目,它也使用了Derby數據庫。現在我想遷移到Apache Tomcat 7,我只是做了以下內容:從glassfish到Apache的遷移

  • 停止Glassfish的
  • 改變了NetBeans項目的屬性,使用Apache 7,而不是Glassfish的
  • 新增阿帕奇Netbeans和啓動它

當我嘗試生成項目,多條錯誤消息出現,如:

error: cannot find symbol import javax.persistence.Basic;

儘管我確保在NetBeans的Apache服務器屬性中正確設置Java的/ bin路徑,並且也設置了src.zip路徑。

我認爲有一些步驟必須遵循才能成功遷移,任何人都可以引導我嗎? 謝謝

回答

0

Apache Tomcat不附帶JPA規範。它只是一個Servlet容器。

您必須將JPA規範和Hibernate(實現)添加到您的項目中,並確保它將部署在您的WEB-INF/lib中。

然後,確保您的持久性單元屬於transaction-type =「RESOURCE_LOCAL」,並配置所有必要的屬性以創建連接。

實施例:

<persistence-unit name="bookmark-ds" transaction-type="RESOURCE_LOCAL"> 
     <class>com.sample.domain.YourEntity</class> 
     <properties> 
     <property name="javax.persistence.jdbc.driver" value="org.hsqldb.jdbcDriver" /> 
     <property name="javax.persistence.jdbc.user" value="sa" /> 
     <property name="javax.persistence.jdbc.password" value="" /> 
     <property name="javax.persistence.jdbc.url" value="jdbc:hsqldb:mem:." /> 

     <property name="hibernate.show_sql" value="true" /> 
     <property name="hibernate.format_sql" value="false" /> 
     <property name="hibernate.hbm2ddl.auto" value="create-drop" /> 
    </properties> 
</persistence-unit> 

觀測值:這是一個HSQLDB例子。調整德比。 ;-)

更新:有一個偉大的教程爲Tomcat + JPA + EclipseLink here

+0

實際上,考慮在您的Tomcat安裝中添加JPA庫,正如我在答案中鏈接的TUtorial所述。 –