Skip to content

Commit d52ff0f

Browse files
committed
Improve delete script
1 parent ecfb5dd commit d52ff0f

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>cz.foresttech</groupId>
88
<artifactId>ForestDatabase</artifactId>
9-
<version>1.0.6</version>
9+
<version>1.0.7</version>
1010

1111
<properties>
1212
<maven.compiler.source>17</maven.compiler.source>

src/main/java/cz/foresttech/database/DatabaseEntityConvertor.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -234,8 +234,8 @@ public String generateCreateScript(Class<?> clazz) {
234234
* @return a string representing a part of SQL script.
235235
*/
236236
private <T> String processDeleteConditionScript(Class<T> clazz, T object) throws IllegalAccessException {
237-
List<String> keys = new ArrayList<>();
238-
List<String> values = new ArrayList<>();
237+
StringBuilder keys = new StringBuilder();
238+
StringBuilder values = new StringBuilder();
239239

240240
for (Field field : clazz.getDeclaredFields()) {
241241
field.setAccessible(true);
@@ -251,12 +251,15 @@ private <T> String processDeleteConditionScript(Class<T> clazz, T object) throws
251251
DatabaseValueProcessor valueProcessor = databaseAPI.getProcessor(field.getType());
252252

253253
String processedValue = processFieldValue(fieldValue, valueProcessor);
254-
keys.add(dbName);
255-
values.add(processedValue);
254+
keys.append(dbName).append(",");
255+
values.append(processedValue).append(",");
256256
}
257257

258258
if (keys.isEmpty()) return "";
259259

260+
keys.setLength(keys.length() - 1);
261+
values.setLength(values.length() - 1);
262+
260263
return "(" + keys + ") = (" + values + ")";
261264
}
262265

0 commit comments

Comments
 (0)