I wanna design an Entity Class which has a String[] property. This String Array always has two values and I dont want Hibernate (or rather JPA) create an extra table for this but embed this two String values directly into the table. Is this possible and if so how?
+1
A:
If this array always has two elements, why not simply create a class to hold them and than map that class as Component?
Georgy Bolyuba
2010-02-24 10:19:39
+1
A:
If there is always exactly two values, you can play with getter/setter and instance variable. You can indeed choose whether you map instance variable or property with @Column
.
@Column
String s1;
@Column
String s2;
public String[] getProp()
{
return new String[]{ s1, s2 };
}
public String setProp(String[] s )
{
s1 = s[0];
s2 = s[1];
}
Otherwise look at @Embedded
entity. Something in the spirit of
@Entity
public class MyEntity {
@Embedded
public StringTuple tuple;
}
public class StringTuple {
public String s1;
public String s2;
}
ewernli
2010-02-24 10:20:13