せずにテーブルからデータをフェッチ:私はフィールドやデータを以下しているMySQLデータベースのテーブルを持っている主キー
ここでidが主キーであり、その生成はautoです。私の質問は、projectIdを通じてメンバーを取得することです。休止状態での私のクエリは次のとおりです。
Query query=session.createQuery("from ProjectMemberDTO P where P.projectId=:pid");
query.setParameter("pid", pid);
と仮定pidが、私はつまり、私は
harindermo
harindermo
harindermo
が、ときに私を取得しています、テーブルの最初の結果にPIDの数と同数の時間を49を取得していますされます私のMYSQL WorkBenchでこのクエリを実行すると、正しい結果が得られます。
@Entity
@Table(name="projectmember")
public class ProjectMemberDTO {
@Id
@Column(name="projectId")
int projectId;
@Column(name="id")
int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Column(name="member")
String member;
@Column(name="status")
String status;
public int getProjectId() {
return projectId;
}
public void setProjectId(int projectId) {
this.projectId = projectId;
}
public String getMember() {
return member;
}
public void setMember(String member) {
this.member = member;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
これは、以下に示すように、あなたは非常によく、ネイティブSQLクエリを書くことができ、私のProjectMemberDTO
このHQLorネイティブSQLです。このクエリは、休止状態のクエリではほとんど起こりそうにないためです。 –
そのHQLクエリの実際の構文は –
です。query query = session.createQuery( "ProjectMemberDTO P from P.projectId =:pid"); \t \t \t query.setParameter( "pid"、pid); –