gpt4 book ai didi

通过 Web 服务返回 JAXB 对象时的 JPA LazyInitializationException

转载 作者:行者123 更新时间:2023-12-04 03:43:56 25 4
gpt4 key购买 nike

我正在与 JBoss 合作。我创建了一个简单的 JAX-RS Web 服务,它从数据库中检索 JPA 实体并将其返回给用户。一旦我与另一个实体建立关系(@OneToOne),我就会得到一个 LazyInitializationException。原因很简单:关系不是由 JPA 初始化的(延迟加载),当 jaxb 尝试序列化它时,一切都会中断。

但是我该如何解决这个问题?

在我归还对象之前,我可以触及这种关系。对于更大的对象网络来说不是很好也很复杂。

我可以扩展我的 Persistence 上下文,所以我的 session 在 jaxb 序列化期间仍然处于事件状态。好主意,但怎么做?

是否有标准的最佳实践方法来解决我的问题。

桂冠

最佳答案

在处理 JPA 实体时,您需要确保注释的是属性(访问器)而不是字段(实例变量)。

下面是使用 JAX-RS、JAXB 和 JPA 创建 JAX-RS 服务的示例:

  • Part 1 - The Database
  • Part 2 - Mapping the Database to JPA Entities
  • Part 3 - Mapping JPA entities to XML (using JAXB)
  • Part 4 - The RESTful Service
  • Part 5 - The Client
  • 关于通过 Web 服务返回 JAXB 对象时的 JPA LazyInitializationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5990005/

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