Java @OneTONE JPA Hibernate异常-无法解析属性
在Hibernate中,我尝试建立一对一的关系,但显示以下错误:Java @OneTONE JPA Hibernate异常-无法解析属性,java,hibernate,Java,Hibernate,在Hibernate中,我尝试建立一对一的关系,但显示以下错误: org.hibernate.QueryException: could not resolve property: Grupos of: com.seguridad.modelos.Empleados [ from com.seguridad.modelos.Empleados e left join e.Grupos g where e.idJefe=:supervisor order by nombre] 我有两张桌子:Em
org.hibernate.QueryException: could not resolve property: Grupos of: com.seguridad.modelos.Empleados [ from com.seguridad.modelos.Empleados e left join e.Grupos g where e.idJefe=:supervisor order by nombre]
我有两张桌子:Emplbeados和Grupos,如下所示:
表1雇员人数:
idEmpleado(键)| nombre | aPat | aMat | grupo
表Grupos
id(键)| nombre | fecha|
emplbeados(Empleoyess)和Grupos(Groups)中的关系是emplbeados.grupo=Grupos.id
Empleoyess.java
Grupos.java
这是我的问题
从com.seguridad.modelos.Empleados e向左加入e.Grupos g,其中e.idJefe=5
并在之前显示错误,但如果我尝试:
从Employados e,Grupos g,其中e。idJefe=5,e.idGrupo=g.id按e.nombre排序
是成功的,我不明白错误在哪里,其他帖子讲述了语法,但我相信我的语法是正确的
问候和感谢 您的字段名为
grupos
,而不是grupos
。案例很重要。您在上一部分发布了相同的查询。第一个查询和第二个查询之间的区别是什么您在Empleados
类中映射了两次Grupos
关系:一个是@OneToOne
关系,另一个是idGrupo
实例变量。删除第二个,您不需要它,然后检查第一个,以确保它对于您的映射是正确的。对不起,我的第一个查询是:从Emplbeados e left join e.Grupos g,其中e.idJefe=5获取所有有或没有组的用户我尝试删除idGrupo,结果是相同的错误。谢谢
@Entity()
@Table(name="empleados")
@org.hibernate.annotations.Entity(dynamicUpdate = true)
public class Empleados implements Serializable {
private String nombre;
private String aPat;
private String aMat;
@Column(name="grupo")
private Integer idGrupo;
@OneToOne
@JoinColumn(name = "id",insertable = false, updatable = false)
private Grupos grupos;
//GETTER AND SETTERS
}
@Entity()
@Table(name="grupos")
public class Grupos implements Serializable {
@Id @GeneratedValue
private Long id;
private String nombre;
@Temporal(javax.persistence.TemporalType.TIMESTAMP)
private Date fecha;
//GETTER AND SETTERS
}