Tôi đang làm việc trên một dự án ERP lớn có mô hình cơ sở dữ liệu với khoảng 2100 bảng. Với "chỉ" 500 bảng được ánh xạ với Hibernate, ứng dụng được triển khai trên máy chủ web mất khoảng 3 GB bộ nhớ hoạt động.Số lượng lớn các bảng và mức tiêu thụ bộ nhớ Hibernate
Có cách nào để giảm dấu chân bộ nhớ metamodel của Hibernate khi sử dụng nhiều bảng trong một đơn vị liên tục không? Hay tôi chỉ nên từ bỏ ORM và đi với JDBC cũ đơn giản (hoặc thậm chí jOOQ)?
Hiện tại tôi đang sử dụng Hibernate 4.1.8, Spring 3.1.3, JBoss AS 7.1 và làm việc với cơ sở dữ liệu MSSQL.
Edit:
JavaMelody memory histogram output - với 2000 tạo bảng thử nghiệm mà là nhỏ hơn một chút trong phạm vi từ mô hình db gốc (do đó 'chỉ' 1,3GB bộ nhớ dành)
Chỉnh sửa 2:
Java phân tích MAT đống:
Bạn có biết bao nhiêu 3GB được tiêu thụ bởi hibernate? – Kai
Xét rằng với ~ 10 bảng bộ nhớ tiêu thụ là ít hơn 256MB, tôi nghĩ rằng phía bắc của nó là 2,74 GB :) – Vedran
Bạn có muốn cho Batoo JPA một shot. http://batoo.jp –