Thanks Maciej .
I agree with you . Handling postgreSQL 's large object type (eg oid , text) in the auto commit mode requires to specify the transaction boundary explicitly .Otherwise , the error "Large Objects may not be used in auto-commit mode" occurs.
On the other hand , in the non-autocommit mode , it is okay if the transaction boundary is not specify explicitly. So I just try to setup such that the database connection is in the non-autocommit by specifying <property name="hibernate.connection.autocommit" value="false" /> in the persistence.xml . But no matter how I set in the persistence.xml and the data source configuration in the standalone.xml , this erro always occurs. So I wonder if the connection get from the JBoss AS data source is always in the auto-commit mode and ignores the setting of persistence.xml or persistence.xml .
I temporary resolve this issue by using the local jdbc transaction instead of getting the connection from the JBoss AS data source , and setting the database connection in the non-autocommit mode. But it is not a nice solution and does not suggested by Java EE specification .Also , I don't know if there are any side-effects.