2017-02-15 6 views
0

午後の良い人!良いHibernateのプラクティスを使用して値を取得する

query = session.createQuery ("select F from Employee F where F.email =" + email); 

誰もが、私はこのクエリ内のフィールドの値を取得する方法を知ってい: は私が休止状態に次のコードを持って

...それは愚かな質問かもしれないと思いますか?

例:人(従業員)の名前をどのように取得しますか。

注:私は良いHibernateの練習を使用したいと思います...私は繰り返して良いではありません信じて:

query = session.createQuery ("select F.person from Employee F where F.email =" + email); 

あなたは私を助けることができますか? :)

ありがとうございます。

+1

質問がわかりません。従業員の名前を取得する場合は、クエリを実行します。クエリはEmployeeを返し、返された従業員はgetName()を呼び出します。それはあなたが求めていることですか?従業員全体ではなく名前だけを返すクエリが必要な場合は、質問の2番目のクエリで何をしているのですか(ただし、電子メールには名前付きパラメータを使用します)。どうしたの? –

答えて

1

5.2を休止する前:Hibernateは5.2で以降

String sql = "SELECT e.person FROM Employee e WHERE e.email = :email"; 
Query query = session.createQuery(sql)  
query.setParameter("email", emailAddress); 
List<Person> people = (List<Person>) query.getResultList(); 

コアに休止状態のEntityManagerのマージで
String sql = "SELECT e.person FROM Employee e WhERE e.email = :email"; 
Query query = session.createQuery(sql, Person.class); 
query.setParameter("email", emailAddress); 
List<Person> people = query.getResultList(); 

5.2.xではの+の一環として、あなたは今より良い型を取得後でキャストするのを避けるための安全なクエリ)。

関連する問題