Image

Imagehedin wrote in Imageru_java

Рефакторинг и ORM

Возникла забавная проблемка, есть ентитя.

@Entity
public class PersistSkills implements Serializable {

  @Id
  public int id;
  //  @OneToOne(cascade=CascadeType.ALL) 
  @Embedded
  @AttributeOverrides( {
      @AttributeOverride(name = "value", column = @Column(name = "KNIFE")),
      @AttributeOverride(name = "mastery", column = @Column(name = "KNIFE_MASTERY")),
      @AttributeOverride(name = "trainedValue", column = @Column(name = "KNIFE_TRAINED")),
      @AttributeOverride(name = "availability", column = @Column(name = "KNIFE_AVAIL")) })
  public PersistSkill knife;
  //  @OneToOne(cascade=CascadeType.ALL)
  @Embedded
  @AttributeOverrides( {
      @AttributeOverride(name = "value", column = @Column(name = "SWORD")),
      @AttributeOverride(name = "mastery", column = @Column(name = "SWORD_MASTERY")),
      @AttributeOverride(name = "trainedValue", column = @Column(name = "SWORD_TRAINED")),
      @AttributeOverride(name = "availability", column = @Column(name = "SWORD_AVAIL")) })
  public PersistSkill sword;// ���

И так далее 30 скилов. Можно прикрутить хранение в виде массива и доступ по ID (в другом месте кода так все и устроено) но хранение в таблице менять нельзя.

Можно ли какнибудь так хитро выкрутиться чтобы было 2 геттера сеттера отвечающие и несущие анотации как все тридцать, основываясь на какомто справочнике. 

Слушал что чтото такое можно сделать на Proxy но собаку на этом еще не ел и как быть не понимаю.