[DEV] correct the filter of deleted elements

This commit is contained in:
Edouard DUPIN 2024-01-19 21:16:52 +01:00
parent 9c9cf85f92
commit e35a1ae879

View File

@ -960,7 +960,10 @@ public class DataAccess {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static <T> List<T> getsWhere(final Class<T> clazz, final QueryOptions options) throws Exception { public static <T> List<T> getsWhere(final Class<T> clazz, final QueryOptions options) throws Exception {
final Condition condition = options.get(Condition.class); Condition condition = options.get(Condition.class);
if (condition == null) {
condition = new Condition();
}
final List<LazyGetter> lazyCall = new ArrayList<>(); final List<LazyGetter> lazyCall = new ArrayList<>();
final String deletedFieldName = AnnotationTools.getDeletedFieldName(clazz); final String deletedFieldName = AnnotationTools.getDeletedFieldName(clazz);
DBEntry entry = DBEntry.createInterface(GlobalConfiguration.dbConfig); DBEntry entry = DBEntry.createInterface(GlobalConfiguration.dbConfig);
@ -979,9 +982,7 @@ public class DataAccess {
generateSelectField(querySelect, query, clazz, options, count); generateSelectField(querySelect, query, clazz, options, count);
querySelect.append(query.toString()); querySelect.append(query.toString());
query = querySelect; query = querySelect;
if (condition != null) { condition.whereAppendQuery(query, tableName, options, deletedFieldName);
condition.whereAppendQuery(query, tableName, options, deletedFieldName);
}
final OrderBy orders = options.get(OrderBy.class); final OrderBy orders = options.get(OrderBy.class);
if (orders != null) { if (orders != null) {
orders.generateQuerry(query, tableName); orders.generateQuerry(query, tableName);
@ -994,9 +995,7 @@ public class DataAccess {
// prepare the request: // prepare the request:
final PreparedStatement ps = entry.connection.prepareStatement(query.toString(), Statement.RETURN_GENERATED_KEYS); final PreparedStatement ps = entry.connection.prepareStatement(query.toString(), Statement.RETURN_GENERATED_KEYS);
final CountInOut iii = new CountInOut(1); final CountInOut iii = new CountInOut(1);
if (condition != null) { condition.injectQuerry(ps, iii);
condition.injectQuerry(ps, iii);
}
if (limit != null) { if (limit != null) {
limit.injectQuerry(ps, iii); limit.injectQuerry(ps, iii);
} }
@ -1066,7 +1065,10 @@ public class DataAccess {
public static long countWhere(final Class<?> clazz, final QueryOption... option) throws Exception { public static long countWhere(final Class<?> clazz, final QueryOption... option) throws Exception {
final QueryOptions options = new QueryOptions(option); final QueryOptions options = new QueryOptions(option);
final Condition condition = options.get(Condition.class); Condition condition = options.get(Condition.class);
if (condition == null) {
condition = new Condition();
}
final String deletedFieldName = AnnotationTools.getDeletedFieldName(clazz); final String deletedFieldName = AnnotationTools.getDeletedFieldName(clazz);
DBEntry entry = DBEntry.createInterface(GlobalConfiguration.dbConfig); DBEntry entry = DBEntry.createInterface(GlobalConfiguration.dbConfig);
long count = 0; long count = 0;
@ -1077,9 +1079,7 @@ public class DataAccess {
query.append("SELECT COUNT(*) AS count FROM `"); query.append("SELECT COUNT(*) AS count FROM `");
query.append(tableName); query.append(tableName);
query.append("` "); query.append("` ");
if (condition != null) { condition.whereAppendQuery(query, tableName, options, deletedFieldName);
condition.whereAppendQuery(query, tableName, options, deletedFieldName);
}
final Limit limit = options.get(Limit.class); final Limit limit = options.get(Limit.class);
if (limit != null) { if (limit != null) {
limit.generateQuerry(query, tableName); limit.generateQuerry(query, tableName);
@ -1088,9 +1088,7 @@ public class DataAccess {
// prepare the request: // prepare the request:
final PreparedStatement ps = entry.connection.prepareStatement(query.toString(), Statement.RETURN_GENERATED_KEYS); final PreparedStatement ps = entry.connection.prepareStatement(query.toString(), Statement.RETURN_GENERATED_KEYS);
final CountInOut iii = new CountInOut(1); final CountInOut iii = new CountInOut(1);
if (condition != null) { condition.injectQuerry(ps, iii);
condition.injectQuerry(ps, iii);
}
if (limit != null) { if (limit != null) {
limit.injectQuerry(ps, iii); limit.injectQuerry(ps, iii);
} }