代码之家  ›  专栏  ›  技术社区  ›  Feras Wilson

HibernateTemplate Get方法返回一个具有空值的对象

  •  5
  • Feras Wilson  · 技术社区  · 7 年前

    现在,当票据被解析时,它将被移动到ResolvedTicket表。

    现在我有了一个定制的findByID方法,我尝试首先检索活动票据,然后如果我有一个null对象,那么我尝试检索已解析票据。看起来是这样的:

    public Ticket findByID(Long id) {
        Ticket t = findByID(ActiveTicket.class, id);
        if (null == t) {
            t = findByID(ResolvedTicket.class, id);
        }
        return t;
    }
    

    这是自定义findByID:

    public <C> C findByID(Class<C> class, PK id) {
        return (C) getHibernateTemplate().get(class, id);
    }
    

    enter image description here

    2 回复  |  直到 7 年前
        1
  •  0
  •   Gernot    7 年前

    因为我发现一些相关的代码片段丢失了,所以我的最佳嘉宾是您的Ticket/ActiveTicket/ResolvedTicket有带有final关键字的getter。

        2
  •  0
  •   Feras Wilson    7 年前

    问题在于Hibernate的版本。升级到更高版本的Hibernate后,问题消失了。