簡體   English   中英

如何將 Hibernate 與 WildFly 一起使用?

[英]How do I use Hibernate along with WildFly?

晚上好。
我正在嘗試創建一個使用以下項目的項目:

  • Java
  • JSF 2.3
  • Maven
  • CDI 2.0
  • Hibernate
  • Wildfly 服務器

    我在這里的目的是學習所有這些家伙的基礎知識。 起初,我遵循了一個很棒的 [@BalusC 的教程][1],它教我如何設置和首先運行 webapp。

    我現在的問題在於將數據庫與應用程序集成。 我按照一些指南並在互聯網上搜索了一下,發現一種方法是編輯web.xmlpersistence.xml (我試圖讓它盡可能接近歷史教程)。
    這是我的web.xml

     <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0" metadata-complete="true"> <display-name>project</display-name>... (some params) <data-source> <name>java:global/projectDS</name> <class-name>org.postgresql.ds.PGConnectionPoolDataSource</class-name> <url>jdbc:postgresql://localhost:5432/project</url> </data-source>... (servlet info) </web-app>

    還有我的堅持。xml

     <?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd" version="2.2"> <persistence-unit name="projectPU" transaction-type="JTA"> <jta-data-source>java:global/projectDS</jta-data-source> <class>project.entity.Message</class> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQL95Dialect" /> <property name="hibernate.default_schema" value="main" /> <property name="hibernate.hbm2ddl.auto" value="create" /> <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" /> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.format_sql" value="true" /> </properties> </persistence-unit> </persistence>

    當我運行 web 應用程序時,我收到以下錯誤:

     Caused by: org.jboss.as.controller.OperationFailedException: WFLYJCA0117: org.postgresql.ds.PGConnectionPoolDataSource is not a valid javax.sql.DataSource implementation [ "WFLYJCA0117: org.postgresql.ds.PGConnectionPoolDataSource is not a valid javax.sql.DataSource implementation" ]

    我想知道你們中是否有人知道我做錯了什么以及我該如何解決。

    PS:我在WildFly 的頁面上讀到 WildFly 有自己的 Hibernate “版本”,一些論壇說在使用“外部”hibernate 源時可能會出現一些問題。 但是,由於我的 Hibernate 配置與 Wildfly 的任何配置都沒有任何關聯(我相信如此),我想這不是問題所在。

    提前致謝。

    更新#1
    我從發送的鏈接@TacheDeChoco 嘗試了解決方案#2。 起初它是工作人員,但我遇到了另一個我仍在嘗試解決的錯誤。 我會多嘗試一點,如果有更完整的反饋,我會來這里。
    回答你的問題:當我第一次問的時候,我還沒有做任何你問的事情。
    非常喜歡。

  • 你是否

    1. 在 Wildfly 中注冊一個新的 postgres 模塊(使用適當的 jar)?
    2. 在 Wildfly 配置文件 (standalone-***.xml) 中聲明數據源以及使用的驅動程序?

    可以在這里找到很好的解釋(參見選項#2): https://www.stenusys.com/how_to_setup_postgresql_datasource_with_wildfly/

    暫無
    暫無

    聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

     
    粵ICP備18138465號  © 2020-2024 STACKOOM.COM