Sử dụng cập nhật = "false", chèn = "false" khi thuộc tính được tính/bắt nguồn hoặc khi cơ sở dữ liệu hoặc trình kích hoạt chịu trách nhiệm chèn/hoặc cập nhật giá trị. Ví dụ, nếu DB sẽ tự động tạo ra một giá trị trên INSERT mà bạn muốn sử dụng, sau đó chỉ định insert = "false" để Hibernate sẽ không bao gồm thuộc tính trong câu lệnh INSERT.
Ví dụ khác, sẽ là thuộc tính được tính toán/có nguồn gốc thông qua công thức SQL: Ví dụ: bạn có thể truy lục tổng số thứ tự của từng khách hàng. Ví dụ:
<property name="totalOrders" insert="false" update="false">
<formula>(select sum(ORDER.TOTAL) from ORDER where ORDER.FK_CUSTOMER=ID)</formula>
</property>
Trong trường hợp này chúng tôi đặt insert = "false", update = "false" vì đây rõ ràng là kết quả có nguồn gốc và chúng tôi không thể cập nhật trực tiếp.
Hiệu suất? Nó không phải về hiệu suất - đó là những gì mà bản đồ cơ sở dữ liệu của bạn yêu cầu.
Nguồn
2013-01-30 04:32:43
Lợi ích của việc sử dụng nó là gì? – Chillax
Không có lợi thế. Bạn đặt update = false nếu bạn không muốn cập nhật cột (ví dụ: nếu cột được cập nhật bởi trình kích hoạt hoặc cột khác). Và bạn đặt chèn thành false nếu bạn không muốn cột được chèn vào (ví dụ, nếu nó được khởi tạo bởi trình kích hoạt hoặc cột khác). Trong 99% các trường hợp, hãy để nó ở giá trị mặc định: true. –
Làm cách nào để tôi thực hiện việc này cho một bộ (con)? – PhantomReference