インポートするレコードがあります。初めて挿入されたときは大丈夫です。同じデータを再度インポートしようとすると、org.postgresql.util.PSQLExceptionが表示されます。エラー:重複キー値が一意制約に違反しています。データが同じ/または変更されている場合はデータベースのレコードを更新し、JDBCを使用して新しいデータを挿入する場合はどうすればできますか?JDBCを使用してテーブルを挿入または更新する
public void store(Object entity) throws Exception {
try {
if (this.updateEntity((XEntity) entity) == 0) {
this.insertEntity((XEntity) entity);
}
...
} catch (SQLException sqlEx) {
...
}
}
private int updateEntity(XEntity entity) throws SQLException {
PreparedStatement prepStmt = this.getUpdatePreparedStmt();
...
return prepStmt.executeUpdate();
}
private void insertEntity(XEntity entity) throws SQLException {
...
this.getInsertPreparedStmt().executeUpdate();
}
問題が修正されました。私は以下の答えを提供しました。
XEntityとは何ですか? –
あなたは実装のかなり初期段階にいるようです。永続性を扱う代わりに、JPAまたはHibernateの使用を検討しましたか?低レベルのJDBCアクセスが必要な特定の要件はありますか? –
"this.updateEntity((XEntity)エンティティ)== 0"という理由を理解する必要があります。 – pinichi