- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
khi Người 对象包含使用 @ElementCollection 存储的数据时,我无法弄清楚如何使用 JPA 批量删除 Người sự vật。任何关于如何做到这一点的想法将不胜感激。
@Thực thể
@Table(name="at_person")
public class Person implements Comparable {
@Nhận dạng
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id")
private long id = 0;
@Column(name="name", nullable = true, length = 128)
private String name = "";
@ElementCollection
@Column(name = "email")
@CollectionTable(name = "person_email", joinColumns = @JoinColumn(name = "person_id"))
private Set email = new HashSet();
}
我现在正在做的是这个,它因外键约束错误而失败:
Query query=em.createQuery("DELETE FROM Person");
Caused by: java.sql.SQLException: integrity constraint violation: foreign key no action; FKCEC6E942485388AB table: PERSON_EMAIL
如果它可以是纯 JPA 注释而不是 Hibernate 注释,那将是一个奖励!
câu trả lời hay nhất
我将让您解释 JPA 2.0 规范中提到批量删除操作不是级联的部分:
4.10 Bulk Update and Delete Operations
...
A delete operation only applies to entities of the specified class and its subclasses. It does not cascade to related entities.
事实上,Hibernate 也不会将删除级联到集合表。这已在 HHH-5529 中报告并且建议的方法是:
You could also (a) clean up the collection table yourself or (b) use cascading foreign keys in the schema.
换句话说,(a) 使用 native SQL 或 (b) 在数据库级别使用级联删除约束 - 您必须手动添加它,我不认为Bạn có thể sử dụng@OnDelete
sử dụng @ElementCollection
注释(与 HHH-4301 IMO 相同)。
关于java - 使用元素集合时如何在 JPA 中进行批量删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3903202/
Đây là một ví dụ đơn giản mà tôi đã tạo sau khi đọc một số chủ đề về tính năng chèn số lượng lớn jpa, tôi có 2 đối tượng liên tục là người dùng và trang web. Một người dùng có thể có nhiều trang web, vì vậy ở đây chúng tôi có mối quan hệ một-nhiều. Giả sử tôi muốn tạo một người dùng và tạo/liên kết nhiều trang web với tài khoản người dùng.
Tôi có danh sách tài liệu (đối tượng) có nhiều tài liệu, tức là có bản ghi Json nhưng khi tôi cố tải lên gói tài liệu (bản ghi) thì nó không tải lên cơ sở dữ liệu tài liệu nhưng khi tôi tải lên một bản ghi tài liệu thì nó tải lên thành công. Danh sách listObj = ne
Tôi muốn thực hiện tra cứu tên miền hàng loạt để xem liệu có một số tên miền có sẵn để mua hay không. Tôi không thể tìm thấy mô-đun Perl, nhưng có vẻ như nên có cách để thực hiện việc này trong Perl. Tôi đang tìm kiếm những thứ miễn phí. Cảm ơn bạn! Câu trả lời hay nhất từ đây: http://www.
Tôi đã tạo một lớp hàng loạt để kiểm tra các tệp trên FTP, tải xuống và xóa chúng trên FTP. Khi tôi chạy thủ công (không phải theo đợt), nó hoạt động hoàn hảo, tải xuống tất cả các tệp trong FTP và xóa chúng sau khi quá trình tải xuống hoàn tất. Khi tôi cố gắng chạy hàng loạt,
Tôi có một chuỗi cơ sở có dạng *+*. Tôi muốn có được mọi thứ trước dấu +. Ví dụ: nếu base=foo+bar, tôi muốn lấy foo. Tôi đã thử sử dụng thay thế chuỗi để đạt được set left=%base:+*=% nhưng điều này
Tôi cần tạo hàng tá bảng và tôi cần chúng ở dạng innodb, có cách nào để thực hiện việc này mà không cần thêm engine=innodb vào mỗi câu lệnh tạo bảng không? Câu trả lời hay nhất Công cụ mặc định có thể được chỉ định ở cấp độ máy chủ, trong
Tôi đang cố gắng tạo một dos shell hiển thị dấu nhắc unix/linux. Mã là: @echo off :hi set tmpdrv=%cd:~0,2% if %homedrive% == %tmpdr
Tôi có đoạn mã sau về cơ bản thực hiện tích chập 1D trên mỗi hàng của ma trận 2D. Hạt nhân tích chập là như nhau. Vậy đây thực sự là một trường hợp SIMD. a = [1,2,3,4,5;
Tình huống: Tôi đang cố di chuyển các tệp bên trong một vòng lặp trong shell nhưng mã của tôi không hoạt động. for /D %%F in (*) thực hiện ( if "%%F" NEQ "%directoryToPutFilesIn
Thư mục chứa 2 (hoặc nhiều) file video với tên tùy ý. video1.mkv video2.mkv cần tìm hiểu thời lượng của mỗi video. Để làm điều này, chúng tôi sử dụng MediaInfo .setlocal EnableDelay
Làm cách nào để xóa hàng loạt khoảng trắng (thay vì thay thế chúng bằng dấu gạch dưới) khỏi hàng nghìn tệp trong Windows? Tôi có thể làm điều này từ lệnh DOS không? Hiện tại: file one.mp3 file two.mp3 Tất cả các file cần phải trở thành: fil
Tôi muốn tạo một tệp bó đọc 2 giá trị khác nhau và xử lý chúng tương ứng dựa trên cách chúng so sánh. Tuy nhiên, so sánh không bao giờ có tác dụng. Mã là: REM string1 và string2 chứa follo
Tôi đang cố gắng sao chép các thư mục con của một thư mục sang nhiều thư mục khác không rõ tên. Mục đích là sao lưu các tệp nguồn của chương trình trong các thư mục của tất cả nhân viên sử dụng nó. Nếu không tìm thấy thư mục chương trình trong thư mục nhân viên thì không nên thực hiện hành động nào. Nó trông như thế này: Nguồn: F:
Tôi đang tìm một cách đơn giản để phát hiện xem một đoạn văn bản nhỏ (một vài câu) có bằng tiếng Anh hay không. Theo tôi, vấn đề này dễ dàng hơn nhiều so với việc cố gắng phát hiện các ngôn ngữ tùy ý. Có phần mềm nào làm được việc này không? Tôi đang viết bằng python và thích thư viện python hơn nhưng
Chúng tôi đang cố gắng gửi tin nhắn đẩy quảng cáo tới 8k thiết bị khác nhau. Chúng tôi đang phản hồi thành công URL thông báo đẩy https://fcm.googleapis.com/fcm/send nhưng chỉ một số người dùng nhận được thông báo này chứ không phải tất cả. Vì thế
Về cơ bản, tôi chỉ thay thế một chuỗi trong var của mình bằng đoạn này, nhưng tôi không thể làm cho phần mở rộng bị trì hoãn lồng nhau hoạt động bình thường. Điều này thậm chí có thể? set thay thế=!replace:!search!=!replaceVal!! Tôi biết cách thực hiện
Làm cách nào để sử dụng ffmpeg để mã hóa một loạt tệp video, sử dụng cùng các cài đặt? Tôi đã tìm thấy giải pháp một dòng để chuyển đổi tệp .avi trong thư mục hiện tại thành .mov. Xin lưu ý rằng tôi muốn mã hóa .mov -> .mo
Tôi đang cố gắng tạo một tệp bó sẽ tăng một biến lên 1 mỗi lần nó lặp, sau đó kiểm tra xem biến đó có bằng 5 không và nếu không, hãy lặp lại. Tôi biết điều này có thể có một vòng lặp while nhưng tôi không biết cách thực hiện, hiện tại tôi chỉ thích học Batc
Tôi đang cố gắng tạo một vòng lặp đọc nhiều tệp CSV, tất cả đều có cùng loại dữ liệu nhiệt độ không khí. Tuy nhiên, tôi muốn bỏ qua các hàng phía trên dữ liệu. Đây là những "cảnh báo" trong tập dữ liệu. Mỗi tệp có thể có số lượng cảnh báo khác nhau và do đó có số dòng cần bỏ qua khác nhau. xem bên dưới:
Vì vậy, tôi đang tạo hàng loạt chương trình Thư và tôi gặp sự cố với phần nhắn tin. Phần nhắn tin là một vòng lặp vô hạn. Khi tôi gõ nhiều từ thì nó bị treo. Đây là mã. Xin hãy giúp đỡ! :rep set line= set /p line=
Tôi là một lập trình viên xuất sắc, rất giỏi!