JavaとHibernateを使用してアプリケーションを開発しています。単一行から単一の列を選択するHibernate
ここでは、テーブルEmpdataがあり、その多くの列のうち2つがuid(主キー)と作業ですとしましょう。
ここで、Hibernateを使用して、特定のuidのための努力を抽出したいと思います。
Hibernateを使ってどうすればいいですか?
JavaとHibernateを使用してアプリケーションを開発しています。単一行から単一の列を選択するHibernate
ここでは、テーブルEmpdataがあり、その多くの列のうち2つがuid(主キー)と作業ですとしましょう。
ここで、Hibernateを使用して、特定のuidのための努力を抽出したいと思います。
Hibernateを使ってどうすればいいですか?
が引数としてuid
を取り、effort
を返すメソッドを作成します。
public Effort getEffort(Integer uid){
Query query = session.createQuery("SELECT e.effort FROM Empdata e WHERE e.uid=:uid");
query.setParameter("uid", uid);
return query.uniqueResult();
}
は、ここで私は
effort is of type Effort
と
uid is of type Integer
はい、これは非常に役に立ちました。ありがとうございました!! – rkarwayun
HQLでは、結果の行を含むオブジェクト[]配列のリストを取得するには、リスト()関数を使用することができます。
Query query = session.createQuery("select e.uid from Empdata e");
List<Object[]> rows = query.list();
を返される配列の1番目の要素に第2のIDになります - 名前を。
for (Object[] row: rows) {
System.out.println(" ------------------- ");
System.out.println("id: " + row[0]);
}
編集:別の質問に別の答え:
String hql = "from Empdata where firstname= :fn";
Query query = session.createQuery(hql);
query.setParameter("fn", "Saad");
query.setMaxResults(1);
Effort ef = (Effort) query.uniqueResult();
私は主キーの特定の値に対応する単一のデータ(そしてuniqueResult()のようなもの)を使用したいのですが、どうすればよいですか? – rkarwayun
sqlは "Emptataからe.uidを選択しますfirstname = abc"のようになります –
そのようなものはありますか? –
は、あなたが持っているという前提を取っ 'Entity'行を表す@、あなたはHQLで' @ NamedQuery'を使用するか、基準のAPIを使用することができます。 – Smutje
@Smutje、詳細を教えてください.... – rkarwayun