# JPA + @OneToMany + String ArrayList



## Audio Anarchy (3. Nov 2008)

Hallo Forum, 

ich habe ein Array mit Strings, und möchte dieses mit JPA in einer der JavaDB persistent machen. Momentan sieht das so aus:


```
@Entity
public class shopSettingsPanelDB implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

@OneToMany(mappedBy="shopsettingspaneldb")
    private List<String>  s = new ArrayList<String>();

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

public List<String> getS() {
        return s;
    }

    public void setS(List<String> s) {
        this.s = s;
    }
```

Dabei bekomme ich folgende Fehlermeldung:


```
Use of @OneToMany or @ManyToMany targeting an unmapped class: db.shopSettingsPanelDB.s[java.lang.String]
```

JPA scheint wohl ein Array aus Strings nicht als eine Klasse mappen zu können. Welche möglichkeit habe ich mein String Array in die Datenbank zu bekommen? Danke für Eure Hilfe


----------



## HoaX (4. Nov 2008)

wenn du das als oneToMany deklarierst musst du auch string mappen ... steht ja in der fehlermeldung

ich verwende für sowas idR einfach einen usertype der die liste per xstream in ein clob speichert


----------



## Audio Anarchy (4. Nov 2008)

HoaX hat gesagt.:
			
		

> wenn du das als oneToMany deklarierst musst du auch string mappen ... steht ja in der fehlermeldung



wie berwerkstellige ich das am besten. das ist ja gerade mein problem


----------



## HoaX (5. Nov 2008)

das habe ich im nächsten satz doch geschrieben. erstelle dir einen usertype der das ganze zu einem string konvertiert ... oder erstelle eine neue entity für deine strings, dann kannst du die auch mappen


----------



## Guest (5. Nov 2008)

In Hibernate gibt es hierzu eine Annotation: @CollectionOfElements
Im JPA Standard fehlt sowas... wie so einige andere Sachen wie SELECT-IN auch.  :roll:


----------

