私はHibernateを初めて使用しており、= nエンティティモデルからコレクションを取得しようとすると、 、鉛の変換エラー:遅延コレクションの遅延初期化に失敗しました:プロキシを初期化できませんでした - セッションなし
エラーがリードを変換発生しました: - 私は@Transactionalが、私の避難所を追加しようとしました
なしセッション[...]プロキシを初期化できませんでした:なまけ役割のコレクションを初期化に失敗しました何の成功もなかった。
関連するコード:
Policy.java
@Entity
@Table(name = "policy")
public class Policy {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany(mappedBy = "policy")
private Set<Item> items = new HashSet<>();
...
}
IntercomApiImpl
@Component
public class IntercomApiImpl implements IntercomApi {
private final String apiToken;
private final PolicyFeeDao policyFeeDao;
private final SimpleDateFormat dobFormat;
@Autowired
public IntercomApiImpl(@Qualifier("intercomApiToken") String apiToken,
PolicyFeeDao policyFeeDao) {
this.apiToken = apiToken;
Intercom.setToken(this.apiToken);
this.policyFeeDao = policyFeeDao;
this.dobFormat = new SimpleDateFormat("yyyy-MM-dd");
}
private Map<String, CustomAttribute> getPolicyAttrs(Policy policyToPay) {
Map<String, CustomAttribute> customAttrs = Maps.newHashMap();
Set<Item> items = policyToPay.getItems();
customAttrs.put("item_count",
CustomAttribute.newIntegerAttribute("item_count", items.size()));
return customAttrs;
}
}
また、私はこれが(私はそれが関連性のわからない)に設定している:
@Bean
public LocalSessionFactoryBean sessionFactoryBean() {
LocalSessionFactoryBean sessionFactoryBean = new LocalSessionFactoryBean();
sessionFactoryBean.setDataSource(dataSource());
sessionFactoryBean.setPackagesToScan("com.app.model");
sessionFactoryBean.setHibernateProperties(hibernateProperties());
return sessionFactoryBean;
}
protected Properties hibernateProperties() {
Properties properties = new Properties();
properties.setProperty("hibernate.dialect", getProperty("hibernate.dialect"));
return properties;
}
@Bean
public HibernateTransactionManager transactionManager() {
return new HibernateTransactionManager(sessionFactoryBean().getObject());
}
getPolicyAttrs()に@Transactionalを追加しようとしましたが、動作しませんでした。私の欠点は何ですか?