Как один из вариантов - можно сделать с аннотацией @OneToMany. Создать отдельное entity на таблицу PEOPLE_ATTRIBUTE, например
@Entity
@Table(name = "PEOPLE_ATTRIBUTE")
public class PeopleAttribute {
private int peopleCode;
private int attributeCode;
private String attributeValue;
...
}
@Entity
@Table(name = "PEOPLE")
public class People {
...
private Set<PeopleAttribute> attributes;
@OneToMany(mappedBy = "attribute")
public Set<PeopleAttribute> getAttributes() {
return this.attributes;
}
...
}
P.S. Небольшой совет из опыта: 1) всегда используйте Long для id сущностей, даже если вам кажется что short/int вам хватает, накладные расходы не такие уже и большие, не стоит экономить на спичках. 2) Если у вас @Id private int codePeople; является ID, то и называйте его peopleId, peopleID или просто id. Когда сущностей набирается много - начинается путаница и проблемы, особенно если в команде людей много и все пишут по разному.