2016-09-18 6 views
1

DropwizardとHibernateを使用しています。JPQLクエリでフィールド名のないオブジェクトが返される

私はこのJPQLクエリを得た:

String queryString = "select u.portalUserId, p.personName, p.personMobile, p.personEmail, u.portalUsertype, p.personNotes " 
        + "FROM Persons p, PortalUsers u WHERE p.personId = u.portalUserPersonId"; 

これは単純では2つのエンティティ間で参加して、ユーザーにいくつかの情報を取得します。

私はそれを実行する方法は、そのようなものです:

Query q = sessionFactory.getCurrentSession().createQuery(queryString); 
List<PortalUserBasicUserInfo> l = q.list(); 

PortalUserBasicUserInfoは、select句のすべてのフィールドを持つクラスです。

クエリを実行すると、各フィールドの値だけが取得されますが、フィールド名は取得されません。たとえば、受け取った結果は次のようになります。

"[[2,\"\",null,null,\"MANAGER\",null]]" 

フィールド名を含むJSON結果を返したいので、これは機能しません。 jsonを読んでいる人がそれを適切に解析できるようにフィールド名を追加するにはどうすればよいですか?

String queryString = "select new com.myPackage.Users.PortalUserBasicUserInfo(u.portalUserId ,p.personName, p.personMobile, p.personEmail, u.portalUserStatus, u.portalUsertype, p.personNotes) " 
        + "FROM Persons p, PortalUsers u WHERE p.personId = u.portalUserPersonId"; 

お知らせnew com.myPackage.Users.PortalUserBasicUserInfo:私は最終的に私は必要なタイプを返すように照会し変化して何をしたか

+0

なぜ列見出しのJSONに新しい項目を追加しないのですか? –

+0

どういう意味ですか? –

+0

ヘッダーのエントリを追加してJSONを変更します。 –

答えて

0

。これは私が期待していた正しいタイプのリストを作成しました。

関連する問題