Avatar
0
Dũng Trần Văn Beginner
JPA deleteAll trong mối quan hệ OneToMany
<div class="markdown-block">Em chào mọi người ạ. Em đang gặp một trường hợp muốn được giải thích rõ hơn với Hibernate/JPA và mong mọi người giải thích giúp em cơ chế hoạt động.Em có 2 entity là A và B:Một A có nhiều B.Một B chỉ thuộc về một A.Trong entity A em khai báo như sau:</div><div class="markdown-block">@OneToMany(</div><div class="markdown-block">mappedBy = "parent",</div><div class="markdown-block">fetch = FetchType.LAZY,</div><div class="markdown-block">cascade = CascadeType.ALL,</div><div class="markdown-block">orphanRemoval = true</div><div class="markdown-block">)</div><div class="markdown-block">private List&lt;B&gt; childrens = new ArrayList&lt;&gt;();</div><div class="markdown-block">Trong service em có đoạn code đại khái như sau:</div><div class="markdown-block">@Transactional</div><div class="markdown-block">public void deleteChildren(Long aId, List&lt;Long&gt; deleteIds) {</div><div class="markdown-block">A parent = parentRepository.findById(aId)</div><div class="markdown-block">.orElseThrow();</div><div class="markdown-block">List&lt;B&gt; existingChildren = childRepository.findByParentId(aId);</div><div class="markdown-block">// kiểm tra deleteIds có thuộc về parent hay không</div><div class="markdown-block">List&lt;B&gt; childrenToDelete = existingChildren.stream()</div><div class="markdown-block">.filter(child -&gt; deleteIds.contains(child.getId()))</div><div class="markdown-block">.toList();</div><div class="markdown-block">childRepository.deleteAll(childrenToDelete);</div><div class="markdown-block">}</div><div class="markdown-block">Trong đoạn service trên em ko hề gọi fetch hay getChidren() list B của A, tuy nhiên khi em chạy test thành công nhưng checkDB thì thấy dữ liệu chưa được xóa đi. Em đã có tham khảo qua chat những vẫn chưa nhận đưcọ câu trả lời</div>
Answer
Avatar
0
Ngô Văn Hiếu Beginner
Hỏi về việc sử dụng Completablefuture trong dự án thực tế
<div class="markdown-block">Em chào anh Dũng và mọi người ạ!Dạo gần đây em đang đọc phần về CompletableFuture trong cuốn Modern Java In Action. Sau khi tìm hiểu thì em thấy CompletableFuture khá hữu ích với các tác vụ liên quan đến I/O, chẳng hạn như gọi API từ các hệ thống bên ngoài.Ví dụ, nếu cần gọi đồng thời hai API thì có thể viết như sau:</div><div class="markdown-block">CompletableFuture&lt;String&gt; future1 =</div><div class="markdown-block">CompletableFuture.supplyAsync(api::callApi1);</div><div class="markdown-block">CompletableFuture&lt;String&gt; future2 =</div><div class="markdown-block">CompletableFuture.supplyAsync(api::callApi2);</div><div class="markdown-block">Theo cách hiểu của em, callApi1() và callApi2() sẽ được thực thi song song trên các thread khác. Nhờ vậy, thread xử lý request không phải chờ từng API hoàn thành rồi mới gọi API tiếp theo, nên tổng thời gian phản hồi có thể được rút ngắn đáng kể.Tuy nhiên, em cũng nghĩ rằng cách này cần quản lý thread cẩn thận, chẳng hạn sử dụng thread pool phù hợp. Nếu mỗi request đều tạo quá nhiều thread mới thì có thể gây lãng phí tài nguyên, thậm chí ảnh hưởng đến hiệu năng hoặc độ ổn định của server.Em có một vài thắc mắc muốn xin ý kiến mọi người: Trong thực tế, CompletableFuture có được sử dụng nhiều để xử lý các tác vụ I/O như thế này không? Các dự án production có áp dụng phổ biến kh</div>
Answer
Avatar
0
tvd12 Enlightened
tvd12 Enlightened
EzyPlatform Markdown plugin có hỗ trợ mermaid không?
<div class="markdown-block">EzyPlatform Markdown plugin có hỗ trợ mermaid không?</div>
Answer
Avatar
0
Hoàng Nguyễn Văn Beginner
Migrate database
<div class="markdown-block">Mọi người cho em xin kinh nghiệm migrate database từ PostgreSQL sang MariaDB trên Windows (bao gồm schema + dữ liệu) với ạ.Hiện tại em đang có 1 task migrate database từ PostgreSQL sang MariaDB :+ Em cần mapping toàn bộ db từ PostgreSQL sang MariaDB. Từ DDL, data types, migrate data...+ Các bản của em ko nhiều, tầm 16 bảng. có 10 bảng có dữ liệu tầm hơn 350k bản ghi. Các bảng còn lại chỉ khoảng vài k bản ghi.Anh chị nào từng migrate PostgreSQL → MariaDB (trên Windows) cho em xin kinh nghiệm, tool recommend hoặc checklist thực tế với.Cảm ơn mọi người nhiều!</div>
Answer
Avatar
0
tvd12 Enlightened
tvd12 Enlightened
Các fix lỗi Not supported for DML operations
<div class="markdown-block">Tôi có hàm:</div><div class="markdown-block">@EzyQuery(</div><div class="markdown-block">"UPDATE Term e " +</div><div class="markdown-block">"SET e.displayOrder = e.displayOrder + ?2, " +</div><div class="markdown-block">"e.updatedAt = ?3 " +</div><div class="markdown-block">"WHERE e.name = ?0 " +</div><div class="markdown-block">"AND e.termType = ?1"</div><div class="markdown-block">)</div><div class="markdown-block">int increaseDisplayOrderByNameAndTermType(</div><div class="markdown-block">String name,</div><div class="markdown-block">String termType,</div><div class="markdown-block">long value,</div><div class="markdown-block">LocalDateTime updatedAt</div><div class="markdown-block">);</div><div class="markdown-block">Nhưng khi chạy tôi gặp lỗi:</div><div class="markdown-block">Not supported for DML operations [UPDATE org.youngmonkeys.ezyarticle.sdk.entity.Term e SET e.displayOrder = e.displayOrder + ?2,e.updatedAt = ?3 WHERE e.name = ?0 AND e.termType = ?1]</div><div class="markdown-block">Hãy chỉ cách fix giúp tôi</div>
Answer
Avatar
1
Dũng Trần Văn Beginner
Xây web bán lẻ
<div class="markdown-block">Em chào mọi người ạ. Hiện tại em đang xây 1 web bán lẻ sử dụng cho 4 cơ sở kinh doanh. Nhưng vẫn còn khá nhiều thắng mắc về chi phí vận hành khi đưa lên production và những thứ em cần trả phí là gì và trong tầm giá bao nhiêu ạ. Mong anh/chị đã có kinh nghiệm giải đáp giúp em ạ.</div>
Answer
Avatar
0
Phạm Gia Bảo Beginner
Lập trình Ai cho người mới bắt đầu
<div class="markdown-block">Trong quyển sách "Lập trình Ai cho người mới bắt đầu" Source code trang 50 đến 53 nằm ở đâu, tên file trên github là gì vậy ạ?</div>
Answer
Avatar
0
tvd12 Enlightened
tvd12 Enlightened
Khai báo biến slug và sử dụng biến slug này để gọi hàm lấy tiêu đề trang trong thymeleaf
<div class="markdown-block">Tôi đã có:</div><div class="markdown-block">slug=')}</div><div class="markdown-block">Làm thế nào để sử dụng nó trong hàm ezyfunctions.call('get_post_title_by_slug' để lấy tiêu đề trang?</div>
Answer
Avatar
0
Dũng Trần Văn Beginner
Vận hành website bán lẻ?
<div class="markdown-block">🌐 Những vấn đề pháp lý cần chuẩn bị khi vận hành website bán lẻ?</div>
Answer
Avatar
0
tvd12 Enlightened
tvd12 Enlightened
So sánh giữa Odoo và Ezyplatform
<div class="markdown-block">So sánh giữa Odoo và Ezyplatform</div>
Answer
Avatar
0
tvd12 Enlightened
tvd12 Enlightened
Lỗi: Tiêu đề trang admin hiển thị "Không biết"
<div class="markdown-block">Tôi đang lập trình ezyplatform plugin, trang của tôi hiển thị tiêu đề "Không biết" hoặc "Unknown" là tại vì sao?!Screenshot 2025-11-04 at 14.45.53.png</div>
Answer
Avatar
0
tvd12 Enlightened
tvd12 Enlightened
Cho em hỏi là tại sao em không đăng ký được tài khoản admin ạ, cli.bat "console web" thì nó vẫn lên nhma phía admin thì lại bị như hình ạ
<div class="markdown-block">Cho em hỏi là tại sao em không đăng ký được tài khoản admin ạ, cli.bat "console web" thì nó vẫn lên nhma phía admin thì lại không load được css như hình ạ:!z7181348986966_fe32d50879859be46a9f32749a2e093b.jpg!z7181348986968_c37d0231e2d4c76430cd61ced7320e6b.jpg</div>
Answer
0%