java - EJB 异常 - 尝试使用具有空 session 的间接遍历关系。

标签 java jakarta-ee jpa ejb ejb-3.0

这不是一个新的异常(exception)。我在堆栈溢出中浏览了很多论坛帖子并理解了为什么会这样。但我需要帮助来解决我的问题。

我有两个实体 bean 设备类和设备。以下是代码。

public class EquipmentClass implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id")
    private Integer id;
    @Basic(optional = false)
    @Column(name = "class_name")
    private String className;
    @Column(name = "description")
    private String description;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "equipmentClass")
    private Collection<Equipment> equipmentCollection;

    // getter and setter methods
 } 


public class Equipment implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id")
    private Integer id;
    @Basic(optional = false)
    @Column(name = "created_on")
    @Temporal(TemporalType.TIMESTAMP)
    private Date createdOn;
    @Basic(optional = false)
    @Column(name = "updated_on")
    @Temporal(TemporalType.TIMESTAMP)
    private Date updatedOn;
    @JoinColumn(name = "equipment_class", referencedColumnName = "id")
    @ManyToOne(optional = false)
    private EquipmentClass equipmentClass;

    // setter and getter methods 

}

在添加设备的过程中,我设置了设备类并使用 equipmentFacade.create(equipment); (持久化实体)将其持久化

  EquipmentClass ec = equipment.getEquipmentClass();   
 >>> ec.getEquipmentCollection().add(equipment); << 
  equipmentClassFacade.edit(ec);

我在上面标记的 ( >> < ) 行中遇到异常。

如解释here ,我尝试执行 ec.getEquipmentCollection().size();。但我在那里得到异常(exception)。

我应该如何进行?任何帮助深表感谢。

最佳答案

我想如果您在检索 equipment 实例之后添加 equipment.getEquipmentClass().getEquipmentCollection().size() 它将解决您的问题。
事实可能是在您调用 getEquipmentCollection() 的地方无法再访问 persitence 上下文,但我需要有关您的上下文的其他信息来帮助您(ejb、事务上下文等...)。< br/> 你能在抛出异常的地方访问entityManager实例吗?

关于java - EJB 异常 - 尝试使用具有空 session 的间接遍历关系。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15680490/

相关文章:

java - Spring Boot、Spring Cloud AWS 和 AWS SQS 不从队列中读取

java - Apache solr 如何索引不同的文件

java - 从包含 WAR 文件的 EAR 文件中读取属性

java - 在序列化期间从实体中删除代理代码

Java Jsoup 迭代下拉列表并抓取动态添加的数据

Java swing 表透明度

java - 在 Eclipse 中启用 Java EE 的完整文档

java - 如何在 URL 中传递两个查询参数

java - 如何仅检索关联的 ID 而不是实体?

jpa - H2 如何在连接查询中调用带参数的用户定义函数?