第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取條件查詢的 JPQL/SQL 字符串表示

獲取條件查詢的 JPQL/SQL 字符串表示

慕標琳琳 2022-11-02 10:28:58
如何使用 parmetervalue 獲取條件查詢的 SQL 字符串表示形式?我試過這個,但它返回一個沒有參數(shù)值的字符串給我:String QueryString = 'SELECT * FROM CUSTOMERS WHERE lastname = ?'query = entityManager.createNativeQuery(QueryString);query.setParameter(1, "toto");System.out.print(query.unwrap(JpaQuery.class).getDatabaseQuery().getSQLString());但返回“SELECT * FROM CUSTOMERS WHERE lastname = ?” 而不是“SELECT * FROM CUSTOMERS WHERE lastname = 'toto'”
查看完整描述

1 回答

?
Cats萌萌

TA貢獻1805條經(jīng)驗 獲得超9個贊

如果它可以幫助其他人,那么解決方案是:


String QueryString = 'SELECT * FROM CUSTOMERS WHERE lastname = ?';

Query query = entityManager.createNativeQuery(QueryString); 

Session session = entityManager.unwrap(JpaEntityManager.class).getActiveSession();  

DatabaseQuery databaseQuery = query.unwrap(org.eclipse.persistence.jpa.JpaQuery.class).getDatabaseQuery();

DatabaseRecord recordWithValues= new DatabaseRecord();


query.setParameter(1, "toto"); 

recordWithValues.add(new DatabaseField(Integer.toString(1)), "toto");


databaseQuery.prepareCall(session, recordWithValues); 

String sqlStringWithArgs = databaseQuery.getTranslatedSQLString(session, recordWithValues);


System.out.print(sqlStringWithArgs);


====SELECT * FROM CUSTOMERS WHERE lastname = 'toto'====


查看完整回答
反對 回復(fù) 2022-11-02
  • 1 回答
  • 0 關(guān)注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號