当前位置: 首页 > 知识库问答 >
问题:

QueryException:无法解析:com的属性:Hermanos

诸葛雅达
2023-03-14

有人知道为什么我会得到这个错误吗:

org.hibernate.QueryException: could not resolve property: Hermanos of: com.sahe.model.SalidasProcesionales [FROM com.sahe.model.SalidasProcesionales u LEFT JOIN FETCH u.Hermanos LEFT JOIN FETCH u.PTipoTramo LEFT JOIN FETCH u.Insignias]
@Override
public List<SalidasProcesionales> findAll() {
    List<SalidasProcesionales> listadoSalidasProcesionales = null;
    Session sesion = HibernateUtil.getSessionFactory().getCurrentSession();
    String hql = "FROM SalidasProcesionales u LEFT JOIN FETCH u.Hermanos LEFT JOIN FETCH u.PTipoTramo LEFT JOIN FETCH u.Insignias";
    try {
        sesion.getTransaction().begin();
        listadoSalidasProcesionales = sesion.createQuery(hql).list();
        sesion.getTransaction().commit();
    } catch (Exception e) {
        sesion.getTransaction().rollback();
        e.printStackTrace();
    }
    return listadoSalidasProcesionales;
}
this.salidasProcesionales = new ArrayList<SalidasProcesionales>();

@entity@table(name=“salidas_procesionales”,catalog=“sahe”)公共类SalidasProcesionales实现java.io.serializable{

/**
 * 
 */
private static final long serialVersionUID = 1L;
private Integer codigo;
private Insignias insignias;
private Hermanos hermanos;
private PTipoTramo PTipoTramo;
private int anyo;

@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "codigo", unique = true, nullable = false)
public Integer getCodigo() {
    return this.codigo;
}

public void setCodigo(Integer codigo) {
    this.codigo = codigo;
}

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "insignia", nullable = false)
public Insignias getInsignias() {
    return this.insignias;
}

public void setInsignias(Insignias insignias) {
    this.insignias = insignias;
}

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "codigoHermano", nullable = false)
public Hermanos getHermanos() {
    return this.hermanos;
}

public void setHermanos(Hermanos hermanos) {
    this.hermanos = hermanos;
}

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "tipoTramo", nullable = false)
public PTipoTramo getPTipoTramo() {
    return this.PTipoTramo;
}

public void setPTipoTramo(PTipoTramo PTipoTramo) {
    this.PTipoTramo = PTipoTramo;
}

@Column(name = "anyo", nullable = false)
public int getAnyo() {
    return this.anyo;
}

public void setAnyo(int anyo) {
    this.anyo = anyo;
}
}

我已经删除了长度的构造函数。

共有1个答案

公西志文
2023-03-14

JPQLHQL中编写联接时,需要使用属性,而不是实体,因此需要:

"FROM SalidasProcesionales u" + 
" LEFT JOIN FETCH u.hermanos" +   // because the property is Hermanos hermanos;
" LEFT JOIN FETCH u.PTipoTramo" + // because the property is PTipoTramo PTipoTramo;
" LEFT JOIN FETCH u.insignias";   // because the property is Insignias insignias;

另外,如果只使用select查询,则不需要事务。

 类似资料:
  • 我正在尝试从当前用户那里获取特定租金的列表。 控制器中的代码: account\u id是外键。 运行后,我发现错误: 我做错了什么?

  • 我想写一个简单的不存在的地方子句HQL查询。我不熟悉Hibernate,我有一些小问题。 我的查询如下所示: 我想选择所有包含IDUser当天购买的门票的天数。所有这些都与id为IDFest的节日相关。 我的堆栈跟踪: 映射类: Day.java Festivals.java 门票。Java语言

  • 我得到这个错误的原因很奇怪。我将解释这个错误是按时间顺序排列的,以便更容易理解。 这是我的JPA查询,在我添加po之前,它一直工作得很好。it的customer\u id。 商店订单构造器 错误: 我很困惑为什么我调用的表中的一列不被识别。我已经玩了一段时间了,但感觉就像在追我的尾巴。 -------更新------- 我注意到表中的其他BigInt变量在构造函数中很长。因此,我将customer

  • 获取以下异常: 原因:org.hibernate.queryException:无法解析属性:primaryAddress:com.hcentive.user.ContactInfo在org.hibernate.persister.entity.abstractPropertyMapping.PropertyException(abstractPropertyMapping.java:62)~[h

  • 问题内容: 我正在使用Hibernate 从表的列中获取值。 但是当我得到结果时,它会引发异常 org.hibernate.QueryException:无法解析属性:com.contaque.hibernateTableMappings.contaque_recording_log的文件名 我的食用豆是: 我从那里获取hibernate-session的hibernateUtil类: 我从表中获

  • 问题内容: 因此,我有一个表,已将其定义为hibernate状态,如下所示: 当我尝试针对此表编写一个简单查询时: 我收到以下错误: 为什么不能hibernate找出类上的dbgroupid? 问题答案: 可能是因为您的getter(和setter)没有遵循javabeans约定。它应该是: 我的建议是-命名字段,然后使用IDE生成设置器和获取器。它将遵循惯例。(另一件事,这是一个偏好问题,但我认