forked from Archives/Athou_commafeed
major improvement in the way data is stored
This commit is contained in:
@@ -10,34 +10,39 @@
|
||||
</named-query>
|
||||
|
||||
<named-query name="Entry.byGuids">
|
||||
<query>select DISTINCT e from FeedEntry e LEFT JOIN FETCH e.feeds where e.guid in (:guids) order by e.updated desc</query>
|
||||
<query>select DISTINCT e from FeedEntry e JOIN FETCH e.feeds where e.guid in (:guids)</query>
|
||||
</named-query>
|
||||
|
||||
<named-query name="Entry.unread">
|
||||
<query>select e, s from FeedEntry e LEFT JOIN e.statuses s WITH (s.user.id=:userId) LEFT JOIN FETCH e.feeds where exists (select s2 from FeedSubscription s2 where s2.user=:user and s2.feed member of e.feeds) and not exists (select s3 from FeedEntryStatus s3 where s3.entry = e and s3.user =:user and s3.read=true) order by e.updated desc</query>
|
||||
</named-query>
|
||||
<named-query name="Entry.all">
|
||||
<query>select e, s from FeedEntry e LEFT JOIN e.statuses s WITH (s.user.id=:userId)LEFT JOIN FETCH e.feeds where exists (select s2 from FeedSubscription s2 where s2.user=:user and s2.feed member of e.feeds) order by e.updated desc</query>
|
||||
<named-query name="EntryStatus.byId">
|
||||
<query>select s from FeedEntryStatus s where s.subscription.user=:user and s.id=:id</query>
|
||||
</named-query>
|
||||
|
||||
<named-query name="Entry.unreadByFeed">
|
||||
<query>select e, s from FeedEntry e LEFT JOIN e.statuses s WITH (s.user.id=:userId) LEFT JOIN FETCH e.feeds where :feed member of e.feeds and not exists (select s2 from FeedEntryStatus s2 where s2.entry=e and s2.user.id=:userId and s2.read=true) order by e.updated desc</query>
|
||||
<named-query name="EntryStatus.unread">
|
||||
<query>select s from FeedEntryStatus s where s.subscription.user=:user and s.read=false order by s.entry.updated desc</query>
|
||||
</named-query>
|
||||
<named-query name="Entry.unreadByFeedCount">
|
||||
<query>select count(e) from FeedEntry e LEFT JOIN e.statuses s WITH (s.user.id=:userId) where :feed member of e.feeds and not exists (select s2 from FeedEntryStatus s2 where s2.entry=e and s2.user.id=:userId and s2.read=true)</query>
|
||||
</named-query>
|
||||
<named-query name="Entry.allByFeed">
|
||||
<query>select e, s from FeedEntry e LEFT JOIN e.statuses s WITH (s.user.id=:userId) LEFT JOIN FETCH e.feeds where :feed member of e.feeds order by e.updated desc</query>
|
||||
<named-query name="EntryStatus.all">
|
||||
<query>select s from FeedEntryStatus s where s.subscription.user=:user order by s.entry.updated desc</query>
|
||||
</named-query>
|
||||
|
||||
<named-query name="Entry.unreadByCategories">
|
||||
<query>select e, s from FeedEntry e LEFT JOIN e.statuses s WITH (s.user.id=:userId) LEFT JOIN FETCH e.feeds where exists (select s2 from FeedSubscription s2 where s2.user=:user and s2.feed member of e.feeds and s2.category in (:categories) ) and not exists (select s3 from FeedEntryStatus s3 where s3.entry = e and s3.user =:user and s3.read=true) order by e.updated desc</query>
|
||||
<named-query name="EntryStatus.unreadByFeed">
|
||||
<query>select s from FeedEntryStatus s where s.subscription.user=:user and s.subscription.feed=:feed and s.read=false order by s.entry.updated desc</query>
|
||||
</named-query>
|
||||
<named-query name="Entry.allByCategories">
|
||||
<query>select e, s from FeedEntry e LEFT JOIN e.statuses s WITH (s.user.id=:userId) LEFT JOIN FETCH e.feeds where exists (select s2 from FeedSubscription s2 where s2.user=:user and s2.feed member of e.feeds and s2.category in (:categories) ) order by e.updated desc</query>
|
||||
<named-query name="EntryStatus.unreadCounts">
|
||||
<query>select s.subscription.id, count(s) from FeedEntryStatus s where s.subscription.user=:user and s.read=false group by s.subscription.id</query>
|
||||
</named-query>
|
||||
<named-query name="EntryStatus.allByFeed">
|
||||
<query>select s from FeedEntryStatus s where s.subscription.user=:user and s.subscription.feed=:feed order by s.entry.updated desc</query>
|
||||
</named-query>
|
||||
|
||||
<named-query name="Entry.allByKeywords">
|
||||
<query>select e, s from FeedEntry e LEFT JOIN e.statuses s WITH (s.user.id=:userId) LEFT JOIN FETCH e.feeds where exists (select s2 from FeedSubscription s2 where s2.user=:user and s2.feed member of e.feeds) and (lower(e.content) like :keywords or lower(e.title) like :keywords) order by e.updated desc</query>
|
||||
<named-query name="EntryStatus.unreadByCategories">
|
||||
<query>select s from FeedEntryStatus s where s.subscription.user=:user and s.subscription.category in (:categories) and s.read=false order by s.entry.updated desc</query>
|
||||
</named-query>
|
||||
<named-query name="EntryStatus.allByCategories">
|
||||
<query>select s from FeedEntryStatus s where s.subscription.user=:user and s.subscription.category in (:categories) order by s.entry.updated desc</query>
|
||||
</named-query>
|
||||
|
||||
<named-query name="EntryStatus.allByKeywords">
|
||||
<query>select s from FeedEntryStatus s where s.subscription.user=:user and (lower(s.entry.content) like :keywords or lower(s.entry.title) like :keywords) order by s.entry.updated desc</query>
|
||||
</named-query>
|
||||
|
||||
</entity-mappings>
|
||||
@@ -5,11 +5,12 @@
|
||||
http://java.sun.com/xml/ns/persistence
|
||||
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
|
||||
<persistence-unit name="primary">
|
||||
<provider>org.hibernate.ejb.HibernatePersistence</provider>
|
||||
<provider>org.hibernate.ejb.HibernatePersistence</provider>
|
||||
<jta-data-source>${jpa.datasource.name}</jta-data-source>
|
||||
<properties>
|
||||
<property name="hibernate.hbm2ddl.auto" value="update" />
|
||||
<property name="hibernate.show_sql" value="${jpa.show_sql}" />
|
||||
<property name="hibernate.default_batch_fetch_size" value="100" />
|
||||
</properties>
|
||||
</persistence-unit>
|
||||
</persistence>
|
||||
Reference in New Issue
Block a user