faster queries for categories

This commit is contained in:
Jeremie Panzer
2013-03-26 09:54:59 +01:00
parent def27c5f9f
commit 9da424a9f0
6 changed files with 106 additions and 77 deletions

View File

@@ -6,12 +6,19 @@
http://java.sun.com/xml/ns/persistence/orm_2_0.xsd">
<named-query name="Entry.byGuids">
<query>select e from FeedEntry e where e.guid in :guids</query>
<query>select e from FeedEntry e where e.guid in :guids order by e.updated desc</query>
</named-query>
<named-query name="Entry.unreadByFeed">
<query>select e from FeedEntry e where e.feed=:feed and not exists (select s from FeedEntryStatus s where s.entry = e and s.user =:user and s.read=true)</query>
<query>select e from FeedEntry e where e.feed=:feed and not exists (select s from FeedEntryStatus s where s.entry = e and s.user =:user and s.read=true) order by e.updated desc</query>
</named-query>
<named-query name="Entry.readByFeed">
<query>select e from FeedEntry e where e.feed=:feed and exists (select s from FeedEntryStatus s where s.entry = e and s.user =:user and s.read=true)</query>
<query>select e from FeedEntry e where e.feed=:feed and exists (select s from FeedEntryStatus s where s.entry = e and s.user =:user and s.read=true) order by e.updated desc</query>
</named-query>
<named-query name="Entry.unreadByCategories">
<query>select e from FeedEntry e where exists (select s from FeedSubscription s where s.user=:user and s.feed = e.feed and s.category in :categories) and not exists (select s from FeedEntryStatus s where s.entry = e and s.user =:user and s.read=true) order by e.updated desc</query>
</named-query>
<named-query name="Entry.readByCategories">
<query>select e from FeedEntry e where exists (select s from FeedSubscription s where s.user=:user and s.feed = e.feed and s.category in :categories) and exists (select s from FeedEntryStatus s where s.entry = e and s.user =:user and s.read=true) order by e.updated desc</query>
</named-query>
</entity-mappings>