сделал так:
@JoinTable
private Collection<String> images;
получил исключение:
The type [interface java.util.Collection] for the attribute [images] on the entity class [class hello.Message] is not a valid type for a serialized mapping.
Мне надо к сущности добавить коллекцию строк, оформлять эту коллекцию в виде отдельной сущности нет необходимости.
Что посоветуете?
Здравствуйте, Аноним, Вы писали:
А>Мне надо к сущности добавить коллекцию строк, оформлять эту коллекцию в виде отдельной сущности нет необходимости.
А>Что посоветуете?
CollectionOfElements
@CollectionOfElements
@JoinTable(name="language_description",
joinColumns = @JoinColumn(name="language_code"))
@MapKey(columns={@Column(name="for_language",length=5)})
@Column(name="description")
private Map<String, String> getMap() {
return this.map;
}
Здравствуйте, sinnus, Вы писали:
S>Как нет необходимости? А Id у строки где будет храниться?
Так... Неверно выразился — я бы не котел бы делать отдельный класс, String'a вполне хватилобы...хотя попробовал:
@Embedded
private Collection<Image> images;
И соответственно сам Image:
@Embeddable
public class Image implements java.io.Serializable {
И сдесь получаю, мне непонятный, эксепшн:
The Entity class [class hello.Message] has an embedded attribute [images] of type [interface java.util.Collection] which is NOT an Embeddable class. Probable reason: missing @Embeddable or missing <embeddable> in orm.xml if metadata-complete = true
Здравствуйте, aka50, Вы писали:
A>CollectionOfElements
Спасибо, это действительно должно помочь...но не мне:
Я изучаю возможности стандарта (JPA) и не хотел бы использовать вендор зависимых аннотаций.
Здравствуйте, Аноним, Вы писали:
А>сделал так:
А>А>@JoinTable
А>private Collection<String> images;
А>
А>получил исключение:
А>The type [interface java.util.Collection] for the attribute [images] on the entity class [class hello.Message] is not a valid type for a serialized mapping.
А>Мне надо к сущности добавить коллекцию строк, оформлять эту коллекцию в виде отдельной сущности нет необходимости.
А>Что посоветуете?
Создай геттер, который будет возвращать одну большую строку, его и замапь, либо поищи конвертеры (я не в курсе, может их и нет).