0

私はHibernateで初めて、1対1の関係を試みましたが、次のエラーが表示されました:

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]

次のような Empleados と Grupos の 2 つのテーブルがあります。

テーブル従業員:

idEmpleado (キー) | 名詞 | アパット | マット | グルポ

表グループ

id (キー) | 名詞 | フェチャ |

Empleados(Empleoyess) と Grupos(Groups) の関係は Empleados.grupo = Grupos.id です。

従業員.java

 @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
    }

Grupos.java

@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
}

これは私のクエリです

from com.seguridad.modelos.Empleados e left join e.Grupos g where e.idJefe = 5

前にエラーを表示しますが、試してみると:

Empleados e、Grupos gからe。idJefe=5 および e.idGrupo=g.id e.nombre 順

成功しました。エラーの場所がわかりません。他の投稿で構文について説明されていますが、私の構文は正しいと思います

よろしくお願いします!

4

1 に答える 1

1

あなたのフィールドの名前gruposは ではなくGruposです。大文字と小文字が重要です。

于 2013-07-04T21:34:07.777 に答える