Рефакторинг и 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 но собаку на этом еще не ел и как быть не понимаю.
@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 но собаку на этом еще не ел и как быть не понимаю.
