2015-12-21 15 views
5

Tôi đang làm việc trên một dự án Java EE sử dụng Netbeans. Tôi đã tự động tạo ra các thực thể và các bộ điều khiển JPA bằng cách sử dụng cơ sở dữ liệu.Tự động thêm `insertable = false, updatable = false` vào các thực thể được tạo bởi Netbeans

Tôi muốn cập nhật Cơ sở dữ liệu bằng cách thêm nhiều bảng hơn hoặc cập nhật các bảng hiện có. Vấn đề tôi gặp phải là tôi phải làm lại tạo ra tất cả các thực thể và bộ điều khiển JPA - mà tôi không muốn vì hầu hết các đơn vị của tôi được sửa đổi để bao gồm

insertable = false, updatable = false 

trong @Column nơi cơ sở dữ liệu sử dụng current_timestamp . Nếu tôi tạo lại chúng, tôi sẽ phải sửa đổi tất cả các thực thể một lần nữa để bao gồm insertable = false, updatable = false.

Đây là những gì tôi đang cố gắng đạt được sau khi tạo.

@Column(name = "CREATED_ON", insertable = false, updatable = false) 
@Temporal(TemporalType.TIMESTAMP) 
private Date createdOn; 
+0

Thông thường, đặt thuộc tính Hibernate 'hibernate.hbm2ddl.auto' thành ** update ** chỉ nên cập nhật lược đồ của bạn nơi phát hiện thay đổi, vì vậy nó sẽ giải quyết được vấn đề của bạn. Bạn có thể thử cách tiếp cận này? – Bonifacio

+0

Tôi không thể tìm thấy thuộc tính đó trong dự án – miqdadamirali

+0

Nếu có, vui lòng bao gồm dòng sau trong tệp ** persistence.xml ** của bạn: ' ' – Bonifacio

Trả lời

0

Bạn cần phải làm điều đó trong 2 bước, tại mỗi bước bạn có thể chọn các đối tượng để tạo từ và nếu bạn chọn chúng đúng cách, bạn sẽ không viết trên lớp hiện tại của bạn:

  1. Tạo tổ chức từ cơ sở dữ liệu
  2. tạo điều khiển từ các lớp thực thể

Khi tôi tạo ra các đối tượng từ các bảng hiện tại, bạn chọn bảng bạn muốn tạo. Đơn giản chỉ cần làm điều này và không chọn những cái hiện có. Nhấp chuột phải dự án và chọn New-> other-> Persistence (loại) -> Entity Classes Từ cơ sở dữ liệu tôi nhận được hộp thoại sau:

enter image description here

Sau đó, làm điều tương tự, ngoại trừ chọn JPA điều khiển Các lớp từ các lớp thực thể

+1

Điều này không trả lời câu hỏi tự động thêm' insertable = false, updatable = false' vào biến 'current_timestamp' trong thực thể – miqdadamirali

Các vấn đề liên quan