私は2つのクラスを持っていますが、その間には1対多の関係があります。これらのクラスは以下のとおりです。HQLを使用する1対多の関係を持つ結合テーブルから選択します
@Entity
@Table(name = "emp300", uniqueConstraints = @UniqueConstraint(columnNames = {"personId", "empName","last_name"}))
public class Employee implements Serializable{
@SequenceGenerator(name="seq",sequenceName="my_seq")
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq")
@Id
private int Pid;
private String empName, last_name, position, boss,personId;
private String birthDate;
private int salary;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "depId", nullable = false)
private Department department;
//setters and getters
}
と第二1:
@Entity
@Table(name = "dep300", uniqueConstraints = @UniqueConstraint(columnNames = "depName"))
public class Department implements Serializable, Comparable<Department> {
@SequenceGenerator(name = "seq", sequenceName = "DEPARTMENTS_SEQ")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq")
@Id
private int depId;
private String depName;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "department", cascade=CascadeType.ALL)
private Set<Employee> lst = new HashSet<Employee>(0);
//setters and getters
}
今私は白のHQLは
例外を。 hibernate.hql.QueryExecutionRequestException:選択クエリではサポートされていません[ge.ufc.hibernate.Emps.Employee eからe.department.depName =:mname] – Gog1nA
これを試すと、パラメータと等しい文字の間にスペースを入れてくださいthis: 従業員eからのe.department.depName =:mname; または、パラメーターを渡すことに問題がないことを確認するために、特定の部門名を照会で修正する必要があります。 –