Tôi đang sử dụng ngủ đông và bất cứ khi nào tôi cố gắng thêm bản ghi, nó sẽ giảm bảng và thêm lại. Nó không bao giờ sử dụng bảng hiện có và thực hiện các thay đổi trên đó.Làm thế nào để làm cho Hibernate không thả bảng
Đây là phần có liên quan của tôi hibernate.cfg.xml
:
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">org.apache.derby.jdbc.ClientDriver</property>
<property name="hibernate.connection.url">jdbc:derby://localhost:1527/sample</property>
<property name="hibernate.connection.username">user</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.connection.pool_size">10</property>
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.DerbyDialect</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name = "current_session_context_class">thread</property>
<!-- Mapping the entities -->
<mapping class="inputDetails.Table1"/>
<mapping class="inputDetails.Table2"/>
<!--mapping resource="contact.hbm.xml"/-->
</session-factory>
</hibernate-configuration>
Đây là cách tôi lưu dữ liệu:
SessionFactory factory = new Configuration().configure().buildSessionFactory();
Session session = factory.getCurrentSession();
session.beginTransaction();
//...
session.save(newrecord)
session.getTransaction().commit();
Có cách nào để làm cho phiên tải nội dung cơ sở dữ liệu đã có? Có các giá trị trong cơ sở dữ liệu sau khi ứng dụng ngừng chạy, và khi tôi khởi động lại ứng dụng, tôi muốn nó thêm bản ghi trên đầu những gì đã có trong cơ sở dữ liệu. – Sujen
Đọc lại câu trả lời của tôi và đọc hướng dẫn tham khảo. Sử dụng hibernate.hbm2ddl.auto = auto, bạn đang nói hibernate để cập nhật lược đồ mỗi khi bạn tạo một nhà máy phiên. Vì vậy, nó tạo lại bảng. Điều này rất hữu ích cho các bài kiểm tra nhanh chóng với một cơ sở dữ liệu trống. Nếu bạn có một số dữ liệu bạn muốn giữ lại, hãy thay đổi lược đồ của bạn theo cách thủ công và xóa tùy chọn cấu hình này khỏi tệp cấu hình của bạn. –
Oh alright, tôi đã nhầm lẫn vì tôi nghĩ rằng tài sản được sử dụng để giữ nội dung từ cơ sở dữ liệu thay vì tạo lại nó (một cái gì đó tôi đọc từ một nơi khác và tôi đoán nó quay ra được đối diện của những gì tôi nghĩ). Cảm ơn tôi sẽ thử giải pháp của bạn khi tôi có cơ hội. – Sujen