1

アプリケーション全体で 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 をどのように処理すればよいですか?

ありがとう。

4

1 に答える 1