【问题标题】:Issue when deploying application to GlassFish Server - mapping issue?将应用程序部署到 GlassFish Server 时出现问题 - 映射问题?
【发布时间】:2013-08-18 20:03:48
【问题描述】:

我正在尝试将应用程序部署到我的 GlassFish Server 环境。我进行了设置,以便 GlassFish 在数据库所在的另一台服务器(not localhost)上创建一个到 postgreSQL 数据库的连接池。我测试连接,然后尝试部署应用程序。它失败并出现java.lang.RuntimeException: EJB Container initialization 错误,我的错误日志包含以下内容:http://ideone.com/UlZXut(由于其大小而将其放在这里)。上面还有其他警告,但它们只引用了已经存在的表。

根据this,我认为在部署时会自动生成所需的sun-cmp-mappings.xml 文件(我认为这是正确映射所必需的),但似乎我错了。谁能解释一下这种情况?

如果这不是 SE 发布此内容的绝对最佳部分,我深表歉意,但它与开发工具有关,我确实看到了许多相关帖子。

【问题讨论】:

    标签: java postgresql orm glassfish-3


    【解决方案1】:

    您的错误日志表明您正在尝试使用 DOUBLE 作为数据类型创建表。在 Postgresql 中,该数据类型实际上称为“double precision”。如果您修改表定义以改用“双精度”会发生什么?

    【讨论】:

    • 问题是,我无法直接控制应用程序,只需将其设置为引用特定数据库即可。它有几个用于所有模式的 sun--cmp-mappings.xml 文件,但没有单个 sun-cmp-mappings.xml 文件。我会假设有几个会处理该映射,但他们没有。也许它们不在正确的目录中?我为它们尝试了几种不同的展示位置,但它们产生了相似的结果。
    • W.A.G:您是否运行了 capture-schema 命令来生成 postgresql 特定的 DDL? docs.oracle.com/cd/E26576_01/doc.312/e24930/…
    【解决方案2】:

    在启动时 Glassfish 尝试为您的 java 代码创建数据库表。它无法做到这一点并且无法启动。

    检查您的 ORM 映射器的配置。

    【讨论】:

    • 我在哪里可以查看该配置?对于我的无能,我深表歉意,我对 J2EE 应用程序还很陌生,并且搜索文档并没有什么成果。
    • 您的 JPA 提供商是什么?
    猜你喜欢
    • 2011-04-19
    • 2020-10-22
    • 2017-01-26
    • 2014-11-25
    • 2020-10-27
    • 2012-07-08
    • 1970-01-01
    • 1970-01-01
    • 2020-01-13
    相关资源
    最近更新 更多