Skip to content

Commit e6b38d7

Browse files
gavinkingDavideD
authored andcommitted
fix #726 npe when logging enabled
follow the pattern used in the entity persisters this I guess also slightly improves performance
1 parent 7fd6711 commit e6b38d7

File tree

2 files changed

+69
-26
lines changed

2 files changed

+69
-26
lines changed

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/collection/impl/ReactiveBasicCollectionPersister.java

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,16 @@
3939
*/
4040
public class ReactiveBasicCollectionPersister extends BasicCollectionPersister
4141
implements ReactiveAbstractCollectionPersister {
42-
private final Parameters parameters;
42+
43+
private Parameters parameters() {
44+
return Parameters.instance( getFactory().getJdbcServices().getDialect() );
45+
}
4346

4447
public ReactiveBasicCollectionPersister(Collection collectionBinding,
4548
CollectionDataAccess cacheAccessStrategy,
4649
PersisterCreationContext creationContext)
4750
throws MappingException, CacheException {
4851
super( collectionBinding, cacheAccessStrategy, creationContext );
49-
this.parameters = Parameters.instance( getFactory().getJdbcServices().getDialect() );
5052
}
5153

5254
public CompletionStage<Void> reactiveInitialize(Serializable key,
@@ -136,27 +138,47 @@ public int writeIndexToWhere(PreparedStatement st, Object entry, int loc,
136138
}
137139

138140
@Override
139-
public String getSQLInsertRowString() {
140-
String sql = super.getSQLInsertRowString();
141-
return parameters.process( sql );
141+
protected String generateInsertRowString() {
142+
String sql = super.generateInsertRowString();
143+
return parameters().process( sql );
142144
}
143145

144146
@Override
145-
public String getSQLDeleteRowString() {
146-
String sql = super.getSQLDeleteRowString();
147-
return parameters.process( sql );
147+
protected String generateUpdateRowString() {
148+
String sql = super.generateUpdateRowString();
149+
return parameters().process( sql );
148150
}
149151

150152
@Override
151-
public String getSQLDeleteString() {
152-
String sql = super.getSQLDeleteString();
153-
return parameters.process( sql );
153+
protected String generateDeleteRowString() {
154+
String sql = super.generateDeleteRowString();
155+
return parameters().process( sql );
156+
}
157+
158+
@Override
159+
protected String generateDeleteString() {
160+
String sql = super.generateDeleteString();
161+
return parameters().process( sql );
162+
}
163+
164+
@Override
165+
public String getSQLInsertRowString() {
166+
return super.getSQLInsertRowString();
154167
}
155168

156169
@Override
157170
public String getSQLUpdateRowString() {
158-
String sql = super.getSQLUpdateRowString();
159-
return parameters.process( sql );
171+
return super.getSQLUpdateRowString();
172+
}
173+
174+
@Override
175+
public String getSQLDeleteRowString() {
176+
return super.getSQLDeleteRowString();
177+
}
178+
179+
@Override
180+
public String getSQLDeleteString() {
181+
return super.getSQLDeleteString();
160182
}
161183

162184
@Override

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/collection/impl/ReactiveOneToManyPersister.java

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,15 @@
4343
public class ReactiveOneToManyPersister extends OneToManyPersister
4444
implements ReactiveAbstractCollectionPersister {
4545

46-
private final Parameters parameters;
46+
private Parameters parameters() {
47+
return Parameters.instance( getFactory().getJdbcServices().getDialect() );
48+
}
4749

4850
public ReactiveOneToManyPersister(Collection collectionBinding,
4951
CollectionDataAccess cacheAccessStrategy,
5052
PersisterCreationContext creationContext)
5153
throws MappingException, CacheException {
5254
super( collectionBinding, cacheAccessStrategy, creationContext );
53-
this.parameters = Parameters.instance( getFactory().getJdbcServices().getDialect() );
5455
}
5556

5657
public CompletionStage<Void> reactiveInitialize(Serializable key,
@@ -139,27 +140,47 @@ public int writeIndexToWhere(PreparedStatement st, Object entry, int loc,
139140
}
140141

141142
@Override
142-
public String getSQLInsertRowString() {
143-
String sql = super.getSQLInsertRowString();
144-
return parameters.process( sql );
143+
protected String generateInsertRowString() {
144+
String sql = super.generateInsertRowString();
145+
return parameters().process( sql );
145146
}
146147

147148
@Override
148-
public String getSQLDeleteRowString() {
149-
String sql = super.getSQLDeleteRowString();
150-
return parameters.process( sql );
149+
protected String generateUpdateRowString() {
150+
String sql = super.generateUpdateRowString();
151+
return parameters().process( sql );
151152
}
152153

153154
@Override
154-
public String getSQLDeleteString() {
155-
String sql = super.getSQLDeleteString();
156-
return parameters.process( sql );
155+
protected String generateDeleteRowString() {
156+
String sql = super.generateDeleteRowString();
157+
return parameters().process( sql );
158+
}
159+
160+
@Override
161+
protected String generateDeleteString() {
162+
String sql = super.generateDeleteString();
163+
return parameters().process( sql );
164+
}
165+
166+
@Override
167+
public String getSQLInsertRowString() {
168+
return super.getSQLInsertRowString();
157169
}
158170

159171
@Override
160172
public String getSQLUpdateRowString() {
161-
String sql = super.getSQLUpdateRowString();
162-
return parameters.process( sql );
173+
return super.getSQLUpdateRowString();
174+
}
175+
176+
@Override
177+
public String getSQLDeleteRowString() {
178+
return super.getSQLDeleteRowString();
179+
}
180+
181+
@Override
182+
public String getSQLDeleteString() {
183+
return super.getSQLDeleteString();
163184
}
164185

165186
@Override

0 commit comments

Comments
 (0)