.size
を手動でフィールドをロードするのを避けるため、Hibernate4Module
を実装したいと思います。残念なことに、すべての設定で新しくなって、私はそれを動作させるように見えません。私がjavaから手に入れているのは、Could not write content: could not initialize proxy - no Session
です。Hibernate4Moduleの使い方
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = {"servlet.controller"})
public class ServletConfig extends WebMvcConfigurerAdapter {
...
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
ObjectMapper mapper = null;
for (HttpMessageConverter<?> converter : converters) {
if (converter instanceof MappingJackson2HttpMessageConverter) {
mapper = ((MappingJackson2HttpMessageConverter) converter).getObjectMapper();
}
}
if (mapper == null) {
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
converter.setObjectMapper(mapper = new ObjectMapper());
converters.add(converter);
}
Hibernate4Module hbm = new Hibernate4Module();
hbm.enable(Feature.FORCE_LAZY_LOADING);
mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true)
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
mapper.registerModule(hbm);
}
...
}
誰でも私がここで間違っているのを見ることができますか?
NOTE
私は、効率の欠点のいくつかに実行されている、と私は、DTOの外でそれらを軽減するfesablityに探しています。私は現在DTOメソッドに精通しています。私が現在取り組んでいるソフトウェアには、 "Ext * .java"という名前の60個のファイル(Gsonを使ってDTOを含む)が含まれています。これらはそれぞれ100〜1000行の長さであり、コントローラメソッドの長さを実質的に増加させます。さらに、単体テストを追加しようとしています。その結果、可能な限り多くのDTOコードを削除する方法を見つけることが切望されています。つまり、私はDTOの使用が必要な時に使用することに全く反対していません。実際には、私は最初にStdSerializerを完成させました。
大陸全域の約20人のプロジェクトが進行中で、私は混乱に何らかの秩序を課すことができることを期待しています。
fantastic!私はそれを試してみる必要があります。 – chrisgotter
私たちのアプリケーションでは、ormを使用できないようです。だから行きましょう。とにかく良い答え。 – chrisgotter