アプリケーション全体で 1 つのセッションを使用していますが、エラーが発生しています:
スレッド "Thread-9" org.hibernate.AssertionFailure の例外: セッションへの非スレッドセーフ アクセスの可能性
これは常にではなく、偶然に起こります。
JTable モデルには次のようなものがあります。
public Object getValueAt(int rowIndex, int columnIndex) {
Invoice i = invoices.get(rowIndex);
Object[] values = new Object[] { i.getInvoiceId(), i.getIdent(),
i.getTotalExclVat(), i.getTotalInclVat(), i.getIssueDate(),
i.getTaxDate(), i.getDueDate(), i.getPayType(),
i.getWeight(), i.getSupplier().getName(),
i.getInvoiceItems().size() };
return values[columnIndex];
...
Invoice は Hibernate @Entity および @Table であり、InvoiceItems が接続されています。
質問: 「セッションへの非スレッドセーフ アクセスの可能性」エラーを回避するには、Swing JTables で Hibernate Session をどのように処理すればよいですか?
ありがとう。