gpt4 book ai didi

jpa - 在 Spring dm Server 1.x 中使用 EclipseLink JPA 时出现 Aspectj 加载时间编织问题

转载 作者:行者123 更新时间:2023-12-04 07:02:30 25 4
gpt4 key购买 nike

我试图让 EclipseLink JPA 在 Spring dm Server OSGi 环境中工作。

从 Spring Enterprise Bundle Repository 下载的相关框架和库包括:

  • DM 服务器 1.0.2.SR02
  • AspectJ 运行时 1.6.3
  • AspectJ Weaver 1.6.3
  • Spring 框架 2.5.6.A
  • Eclipse 持久性 1.1.0
  • Javax 持久性 API 1.99.0

  • 我遵循了与 PetClinic-1.5.0 中介绍的相同的结构设置 EclipseLink JPA 的示例。一切正常,直到启用延迟获取(这需要代理对象)。

    启用延迟获取后,以下错误表明加载时编织无法正常工作。

    ----(为便于阅读而截断)

    异常 [EclipseLink-60](Eclipse 持久性服务 - 1.1.0.r3634):org.eclipse.persistence.exceptions.DescriptorException
    异常说明:方法 [_persistence_setcustomer_vh] 或 [_persistence_getcustomer_vh] 未在对象 [net.fractech.fds.backoffice.Job] 中定义。
    内部异常:java.lang.NoSuchMethodException:net.fractech.fds.backoffice.Job._persistence_getcu stomer_vh()
    映射:org.eclipse.persistence.mappings.OneToOneMapping[客户]
    描述符:RelationalDescriptor(net.fractech.fds.backoffice.Job --> [DatabaseTable(JOBS)])

    这表明 _persistence_getcustomer_vh() 和 _persistence_setcustomer_vh() 方法没有自动编织到 Job 域对象中。

    问题

    1.) 我如何确定 load-time-weaving 是否真的有效;此外,如何记录启动编织代理和编织器的加载时间?我如何将开关传递给这个编织器以让它输出调试信息?

    我假设我开始使用

    2.) 很多搜索显示我在使用dm Server 时不需要将-javaagent 参数传递给jvm。这样对吗?

    3.) 我已经通过断言 com.springsource.org.eclipse.persistence;version="[1.1.0,1.1.0]";import-scope 来保证我在另一个包中的域对象可以访问 eclipse 持久性类: =application 在我的 eclipselink 包中,并包括 PAR 中的所有应用程序包。在 Spring dm Server 中启用 EclipseLink JPA 是否需要任何其他配置?

    最佳答案

    我有类似的问题。首先尝试设置 eclipselink.weaving.lazy=false 或 eclipselink.weaving=false 如果这不起作用。我不得不设置后者。

    如果您想引用我正在使用的设置以查看它是否适用于您,我在我的网站上有一篇关于它的帖子。

    关于jpa - 在 Spring dm Server 1.x 中使用 EclipseLink JPA 时出现 Aspectj 加载时间编织问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1628535/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com