【发布时间】:2019-01-11 14:29:45
【问题描述】:
下面是使用 jdbc 编写的代码,现在我只想将其转换为 JPA 的本机查询,请让我 知道如何将以下使用 jdbc 的方法代码更改为本地查询等价物,非常感谢任何帮助, 这个方法只是将数据插入数据库,我已经初始化了JPA的实体管理器
public void insertATMLog(ATMLogRow ATMlLogRow)
conn = getConnection();
String sQuery = "insert into CTL_LOG " +
"( " +
" CTL_LOG_ID, " +
" HOME_ID, " +
" PERSON_ID, " +
" FROM_ADDRESS, " +
" TO_ADDRESS, " +
" SUBJECT, " +
" BODY, " +
" STATUS, " +
" SENT_DATE, " +
" CC_ADDRESS, " +
" BCC_ADDRESS, " +
" REPLY_TO, " +
" CUSTOMER_INSTITUTION_ID, " +
" EFT_TRANSACTION_ID " +
" , PARTNER_EMAIL_ADDRESS , CREATED_ON , FROM_ADDRESS_ALIAS, DELIVERY_CHANNEL" +
")" +
" values (CTL_LOG_seq.nextval,?,?,?,?,?,?,?,sysdate,?,?,?,?,?,?,systimestamp,?,?)";
pstmt = conn.prepareStatement(sQuery);
pstmt.setInt(1,ATMlLogRow.homeID);
pstmt.setInt(2,ATMlLogRow.personID);
pstmt.setString(3,ATMlLogRow.fromAddress);
pstmt.setString(4,ATMlLogRow.toAddress);
pstmt.setString(5,ATMlLogRow.subject);
PCUtils.setClobColumn(pstmt,6,ATMlLogRow.body);
pstmt.setInt(7, status);
pstmt.setString(8,ATMlLogRow.ccAddress);
pstmt.setString(9,ATMlLogRow.bccAddress);
pstmt.setString(10,ATMlLogRow.replyTo);
if (ATMlLogRow.cfiID > 2)
pstmt.setInt(11, ATMlLogRow.cfiID);
else
pstmt.setNull(11, Types.INTEGER);
if (ATMlLogRow.eftTransactionID > 3)
pstmt.setInt(12, ATMlLogRow.eftTransactionID);
else
pstmt.setNull(12, Types.INTEGER);
pstmt.setString(13, ATMlLogRow.partnerEmailAddress);
pstmt.setString(14, ATMlLogRow.fromAddressEmailAlias);
pstmt.setString(15, ATMlLogRow.deliveryChannel);
int count = pstmt.executeUpdate();
【问题讨论】:
-
上网搜索JPA,以及如何使用它;那里有很多文件。本站不是为你转换东西
标签: jpa spring-data-jpa