0

在无状态 bean 中,我试图插入具有 OID 字段的表中。请在下面找到代码段:

DataSource dataSource = (DataSource) context.lookup(JNDI_NAME);
Connection connection = dataSource.getConnection();

PreparedStatement statement = connection.prepareStatement(sql.toString());

byte[] streamOutput = responseData.getBytes();
LargeObjectManager largeObjectManager = ((org.postgresql.PGConnection)connection).getLargeObjectAPI();
long oid = largeObjectManager.createLO(LargeObjectManager.READ | LargeObjectManager.WRITE);
LargeObject largeObject = largeObjectManager.open(oid, LargeObjectManager.WRITE);
largeObject.write(streamOutput);
largeObject.close();

我收到以下异常LargeObjectManager largeObjectManager = ((org.postgresql.PGConnection)connection).getLargeObjectAPI();

org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6 无法转换为 org.postgresql.PGConnection:java.lang.ClassCastException:org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6 无法转换为 org.postgresql。 PG连接

Stateless bean 的 TransactionManagementType 设置为 Container。

我正在使用 Postgresql 9.1 和 JBoss AS7.1

有人能帮帮我吗??

4

1 回答 1

1

通常这意味着您的类路径上有两个不同的库。确保您没有在部署中包含 PostgreSQL 库。

于 2014-11-28T21:41:21.807 回答