通常、私の勤務時間中、私たちは受け取ったストリームが格納されているさまざまなテーブルからdb(oracle)とblobをクエリするのに多くの時間を費やします。 さまざまな種類のストリームがありますので、select文を記述する単純なwebappを作成しようとしていて、それに応じて解析されたストリームをすべて返します。Jpaフォーム入力からネイティブクエリを作成する
select B_BODY from TABLE_B where TRANSACTION_ID = 'GG-148c-01502790743907855009';
文はデータベースがレコードを返す直接問い合わせることが、何も返さない: 私の問題は、JPAを使用して、簡単なネイティブクエリを実行することです。 (
Hibernate:
select
B_BODY
from
TABLE_B
where
TRANSACTION_ID ='GG-148c-01502790743907855009'
and rownum <= 100
は、私はこの方法かもしれないが、奇妙なようだが、私たちのチームは保存されたストリームをトークン化しようとしている多くの時間を費やすことを知っている:これはSQLが生成され
@Transactional(readOnly = true)
public List<Object[]> retrieveBlobs(String squery) {
squery = squery + " and rownum <= "+maxResults;
Query query = em.createNativeQuery(squery);
List<Object[]> resultList = query.getResultList();
return resultList;
}
: は、これは私のJavaコードでありますこのアプリケーションは、唯一のinternally.there使用されようとしていると言うこともテーブルに格納されているか、ストリームを解析するために識別コード).Uselessはちょうどそれがあるとして、クエリを実行し、正しい出力を取得する方法は何ですか?
Webアプリケーションから直接クエリを実行しますか?これが示唆しているセキュリティリスクを考えましたか?あなたのDBAはそれについて何を言いますか? –
私は私はすでにDBA(自分自身)に尋ねたと彼は同意し、すでにdb.Btwにクエリを実行することができ、人々から内部的に使用されようとしている言ったように。 –