java - 使用 JPA 2 和 Hibernate 的 Google Cloud Dataflow 应用程序无法与 BlockingDataflowPipelineRunner 一起运行。找不到 persistence.xml

标签 java hibernate jpa google-cloud-dataflow

我有一个 Google Cloud Dataflow 应用程序,作为转换的一部分,它通过 JPA 2 和 Hibernate 将一些信息记录到 MySQL 数据库。当使用 DirectPipelineRunner 运行此应用程序时,它会找到 persistence.xml 并运行良好。

但是,当我尝试使用 BlockingDataflowPipelineRunner 时,持久性上下文不会初始化,因为它找不到 persistence.xml。也许无法从 CLASSPATH 加载?该消息是找不到 persistence.xml 中指定的唯一持久性单元。

有人成功地将 JPA 2 和 Hibernate 与 Dataflow 应用程序结合使用吗?如果是这样,那么在使用 BlockingDataflowPipelineRunner 时,您必须克服哪些障碍才能使其正常工作?

最佳答案

默认情况下,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/…)。

关于java - 使用 JPA 2 和 Hibernate 的 Google Cloud Dataflow 应用程序无法与 BlockingDataflowPipelineRunner 一起运行。找不到 persistence.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31348572/

相关文章:

java - Hibernate 问题 java.lang.Boolean 无法转换为 java.lang.String 使用 JDK 1.7

java - 文档 - 它是一个模板吗?

java - JPA 2 @SequenceGenerator @GeneratedValue 产生唯一约束冲突

java - Android studio,如果按钮没有drawable

java - 迁移数据库时如何判断column是Blob

java - 如何检查 JSON 中的字段是否为空?

java - hibernate/jpa 忽略@XxxToOne 关系中的 LAZY FETCHING

hibernate - JPA实体的深度复制

java - 比较 Java 中 Postgresql 中的时间戳日期

java - 将控制台数据输出写入文本文件