2015-07-10 27 views
0

我有一個Google Cloud Dataflow應用程序,作爲轉換的一部分,通過JPA 2和Hibernate將一些信息記錄到MySQL數據庫。當使用DirectPipelineRunner運行此應用程序時,它會查找persistence.xml並運行良好。使用JPA 2和Hibernate的Google Cloud Dataflow應用程序將不會與BlockingDataflowPipelineRunner一起運行。無法找到persistence.xml

但是,當我嘗試使用BlockingDataflowPipelineRunner時,持久性上下文將不會初始化,因爲它找不到persistence.xml。也許它不能從CLASSPATH加載?該消息是找不到在persistence.xml中命名的唯一持久性單元。

有沒有人成功將JPA 2和Hibernate用於Dataflow應用程序?如果是這樣,在使用BlockingDataflowPipelineRunner時,你需要跳過哪些環節才能使其工作?

+0

Hibernate默認在很多位置查找persistence.xml文件。您可能需要確認上傳的jar包含META-INF/persistence.xml –

+0

如果您添加標誌--workerLogLevelOverrides = org.hibernate#TRACE,該標誌應該會給您更多與Hibernate相關的詳細輸出(您可能需要配置JBoss日誌記錄以轉到SLF4J或JUL以獲取Hibernate日誌記錄,http://docs.jboss.org/hibernate/orm/4.3/topical/html/logging/Logging.html) –

回答

1

Hibernate默認在很多位置查找persistence.xml文件。您可能想確認上傳的jar包含META-INF/persistence.xml。

如果添加了標誌

--workerLogLevelOverrides = org.hibernate作爲#TRACE

,這應該給你的Hibernate相關的更詳細的輸出(您可能需要配置JBoss日誌轉到SLF4J或JUL以使Hibernate日誌記錄出現,docs.jboss.org/hibernate/orm/4.3/topical/html/logging/...)。

相關問題