PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Atomikos:Dữ liệu không được lưu khi sử dụng PostgreSQL

Giải pháp

OK, bí ẩn đã được giải quyết! Hóa ra là tôi cần gọi rõ ràng tuôn ra () vào phiên đối tượng.

Câu trả lời sau cho tôi gợi ý:
Hibernate không lưu Đối tượng trong Cơ sở dữ liệu?

Ví dụ

Đây là một ví dụ hoạt động (chú ý đến session.flush() phải được gọi là trước khi đóng một phiên ):

@Service
public class TableOneDaoImpl extends HibernateDaoSupport implements TableOneDao  {

    @Override
    public void save(TableOne tableOne) throws Exception {
        Session session = null;
        try {
            session = getSessionFactory().openSession();

            session.save(tableOne);
            session.flush();
        } catch (Exception e) {
            throw new Exception("Could not save tableOne!", e);
        } finally {
            if (session != null) {
                session.close();
            }
        }
    }

}


Và một lần nữa, khi sử dụng MySQL, nó hoạt động tốt mà không tuôn ra một cách rõ ràng.

Quan sát thú vị

Ứng dụng web thử nghiệm được đề cập ở trên đã sử dụng Hibernate thuần cấu hình và SessionFactory của Hibernate (tức là không có Persence.xml và JPA entityManager ). Nhưng tôi cũng có cùng một ứng dụng thử nghiệm được định cấu hình để sử dụng JPA . Và trong ứng dụng đó, mọi thứ cũng hoạt động mà không cần xóa rõ ràng cả với MySQL và PostgreSQL.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận danh sách ngày trong một phạm vi trong PostgreSQL

  2. Áp dụng `trim ()` và `regexp_replace ()` trên mảng văn bản

  3. Các chế độ xem PostgreSQL security_barrier hoạt động như thế nào?

  4. PHP Kết nối với PostgreSQL bằng ssh2_tunnel

  5. Postgresql - chọn các quan sát và đưa vào bảng mới