2013-07-12 9 views
7

Pracuję z 23 pola tutaj, w ostatniej liczyć. Generalnie podniosłem ręce, próbując policzyć je po zmniejszeniu z 31-pola tabeli za pomocą klucza obcego.Scala 22param limit próbuje znaleźć obejście i nadal używać do zrozumienia zamiast zwykłego SQL w Slick

Wszystkie dobre linki

Fundamental explanation of how to read and understand Slick's schema code dostarczone przez jednego bardzo dobrego Faiz.

Na 22+ parametrów ...

Stefan Zeigar był ogromnie pomocny w przykładowym kodzie on napisany w this discussion a także bardziej bezpośrednio związane z here on Github

Dobrą Stefan Zeigar również pisał here na zwykłym zapytań SQL

Co ten post jest o

Myślę, że powyższe jest e tak długo, aby uzyskać mnie na drodze do refaktoryzacji mojej aplikacji, aby CRUD był wykonalny. Zaktualizuję to pytanie lub zadam nowe pytania, jeśli coś pojawi się i stagnacja mnie. Chodzi o to, że ...

Tęsknię za używaniem przy wyszukiwaniu zapytań. Mówię o Slick's Query Templates

Problem napotkasz kiedy użyć do wyrażenia listowe jest to, że na stole ... prawdopodobnie będzie mieć

object Monsters extends Table[Int]("monster_table"){ 
    // lots of column definitions 
    def * = id /* for a Table[Int] despite 
     having 21 other columns I'm not describing 
     in this projection/ColumnBase/??? */ 
} 

i projekcja * nie opisze wszystko co chcesz return w zapytaniu. zamiast

def someQueryTemplate = for { 
    m <- Monsters 
} yield m 

i m będzie Int całego obiektu chcę bo zadeklarował tabelę być Table[Int]ponieważ:

Zwykle proste dla szablonu zrozumienie Slick zapytań będzie wyglądać mniej więcej tak nie mogę skonstruować odwzorowaną projekcję 22 params powodu all the code that needs to be generated for compiler support of class generation for each tuple and arbitrariness

więc ... w pigułce:


Czy istnieje sposób na wykorzystanie szablonów zapytań w programie Slick z ponad 22 kolumnami?

+0

Przeprojektowałem mój schemat na końcu, na wypadek gdyby ktoś się zastanawiał. – Meredith

+1

Zauważyłem [slick makra] (https://github.com/ebiznext/slick- macros) na drugi dzień. Zgłasza +22 kolumny dla DB, a także kilka innych interesujących rzeczy. Być może jest to dla ciebie przydatne. –

Odpowiedz

2

Natknąłem się na to pytanie po udzieleniu odpowiedzi na podobne pytanie kilka dni temu. Oto link do pytania. slick error : type TupleXX is not a member of package scala (XX > 22)

Aby odpowiedzieć na to pytanie, możesz użyć zagnieżdżonych krotek, aby rozwiązać problem z 22 kolumnami. Podczas samodzielnego rozwiązywania problemu poniższy post był bardzo pomocny. https://groups.google.com/forum/#!msg/scalaquery/qjNW8P7VQJ8/ntqCkz0S4WIJ

Inną opcją jest użycie wkrótce dostępnej wersji gry Slick, która korzysta z listy HL, aby usunąć ograniczenie liczby kolumn. Ta wersja Slicka może zostać ściągnięta z gałęzi Głownej na Githubie. Kudos do cvogt za wskazanie tej opcji. https://github.com/slick/slick/blob/master/slick-testkit/src/main/scala/com/typesafe/slick/testkit/tests/MapperTest.scala#L249

+0

Jak korzystać z tej wersji HList? Używam najnowszego Slick (2.0.0-M2) i nadal otrzymuję błąd. – sventechie

+1

Jeszcze nie grałem z nową wersją. Użytkownik cvogt mówił o funkcji jednego z jego wykładów na temat używania Slicka. Polecam skontaktować się z nim, aby zapytać o używanie HListów. –

+0

HList kompiluje się bardzo wolno, jeśli mam 23 pola – jilen

Powiązane problemy