Java – the correct way to calculate associated objects using jpql
                                        
                    •
                    Java                                    
                What is the correct way to write this JPA query? I'm just guessing because I can't solve it or find it in my JPA book
Query query=em.createQuery("select m from Meeting m where count(m.attendees) = 0");
return query.getResultList();
I am currently trying to use hibernate, and I got a MySQL error!
ERROR org.hibernate.util.JDBCExceptionReporter - You have an error in your sql Syntax; check the manual that corresponds to your MysqL server version for the right Syntax to use near ')=0' at line 1
Solution
To strictly answer the title of the question, use size:
Query query=em.createQuery("select m from Meeting m where size(m.attendees) = 0");
return query.getResultList();
From JPA specification:
In the specific case of 0, you can also use is empty
I will test both to determine which is the most effective (check the query plan)
                            The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
                        
                                            
                        THE END
                    
                    
                    
                                                        二维码
                        
                        
                                                
                        