Wpis z mikrobloga

Problem z JPA

baza wygląda tak

id productName
----|------------|
1 A,B,C

Obiekt wyglada tak:

@Id
private Long id;

private List productName;

Czego użyć, żeby JPA wiedział, żeby zwrócił listę productName?
dostaje błąd: org.hibernate.exception.SQLGrammarException: could not extract ResultSet

Jesli zamieniam pole na String productName to działa.

#programowanie #java
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@quwer: musiałbyś zdefiniować własny mapper, czy tam typ, który będzie wiedział, że to nie jest string tylko CSV, i zwróci go jako listę stringów.
  • Odpowiedz
jeśli chcesz trzymać pole jako listę to @Converter i tworzysz coś a'la StringAsListConverter, gdzie robisz robisz joina z separatorem po elementach lub @ElementCollection. Rozwiąże to problem dopóki nie będziesz chciał wyszukiwać po tym polu, ale to będzie kolejny problem ( ͡° ͜ʖ ͡°)
  • Odpowiedz