Tôi là USign @GeneratedValue (strategy = GenerationType.AUTO) để tạo ID trên thực thể của tôi.Trình tự Hibernate trên oracle, @GeneratedValue (strategy = GenerationType.AUTO)
Tôi hiện không làm thế nào nó hoạt động, nhưng trên bảng con của tôi, tạo ra các giá trị ID, theo chuỗi gốc.
//parent table
@Entity
@Table (name = "parent")
public class Parent {
@Id
@GeneratedValue (strategy = GenerationType.AUTO)
@Column (name = "id")
private long id;
@OneToMany (cascade = {CascadeType.ALL}, fetch = FetchType.LAZY)
@JoinColumn (name = "parentId")
@ForeignKey (name = "FKparent")
private List<child> child;
}
//child table
@Entity
@Table (name = "child")
public class Child {
@Id
@GeneratedValue (strategy = GenerationType.AUTO)
@Column (name = "id")
private long id;
}
Giá trị ID được chèn vào cha mẹ, cập nhật trình tự. Giá trị ID được chèn vào con, cập nhật chuỗi. Ngày chèn phụ huynh tiếp theo, chuỗi ... sử dụng giá trị được cập nhật bởi chèn con ...
Chú thích này, không tạo hai chuỗi, chỉ một. Điều này có đúng không?
tôi chèn các đối tượng của tôi với dịch vụ DAO tôi chỉ sử dụng entityManager.persist(parent);
Không nếu người dùng cuối thấy rằng chìa khóa và lầm lạc bởi nó là " ". Và đừng nói với tôi rằng chìa khóa cần phải ẩn khỏi người dùng, điều đó không phải lúc nào cũng có thể ... – Monoman
Không có cách nào để giữ id liên tục trong thời gian và đơn điệu và không có lỗ trong trình tự, điều đó không giết khả năng mở rộng. Tôi đã không thấy một định nghĩa hữu ích về 'nhảy' và tại sao người dùng lại cần ID không rõ ràng. –