Как встроить строковый массив в сущность (JPA) - PullRequest
1 голос
/ 24 февраля 2010

Я хочу создать класс сущностей со свойством String [].Этот String Array всегда имеет два значения, и я не хочу, чтобы Hibernate (или, скорее, JPA) создавал для этого дополнительную таблицу, но встраивал эти два значения String непосредственно в таблицу.Возможно ли это, и если да, то как?

Ответы [ 2 ]

4 голосов
/ 24 февраля 2010

Если всегда есть ровно два значения, вы можете поиграть с переменными getter / setter и instance. Вы действительно можете выбрать, отображать ли переменную экземпляра или свойство с помощью @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];
}

В противном случае посмотрите на @Embedded сущность. Нечто в духе

@Entity
public class MyEntity {

    @Embedded
    public StringTuple tuple;

}

public class StringTuple {
    public String s1;
    public String s2;
}
1 голос
/ 24 февраля 2010

Если в этом массиве всегда есть два элемента, почему бы просто не создать класс для их хранения и сопоставить этот класс как Компонент ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...