У меня есть таблица со следующей структурой:
NUMBER RECORD_ID - PK
STRING NAME
STRING SOME_OTHER_BS
NUMBER ID - the person id i need to group the records by
Я сопоставил поля, подобные этому, в моей группе спящего режима:
long id;//RECORD_ID
String name;//NAME
String someOtherBS;//SOME_THER_BS
long personId;//ID
Теперь проблема в том, что мне нужно иметь набор элементов с тем же personId в сущности. Я пытался это сделать:
@ManyToOne(fetch= FetchType.LAZY, targetEntity = MyEntity.class)
@JoinColumns( {
@JoinColumn(name="`ID`", referencedColumnName = "`ID`")
} )
private Set otherEntities;
Но это дает мне следующую ошибку:
org.hibernate.MappingException: повторный столбец при сопоставлении для объекта: com.sflpro.dto.MyEntity column: идентификатор (должен быть сопоставлен с insert = "false" update = "false")
at org.hibernate.mapping.PersistentClass.checkColumnDuplication (PersistentClass.java:681) ~ [hibernate-core-4.1.5.Final.jar: 4.1.5.Final]
at org.hibernate.mapping.PersistentClass.checkPropertyColumnDuplication (PersistentClass.java:703) ~ [hibernate-core-4.1.5.Final.jar: 4.1.5.Final]
на org.hibernate.mapping.PersistentClass.checkColumnDuplication (PersistentClass.java:725) ~ [hibernate-core-4.1.5.Final.jar: 4.1.5.Final]
at org.hibernate.mapping.PersistentClass.validate (PersistentClass.java:478) ~ [hibernate-core-4.1.5.Final.jar: 4.1.5.Final]
на org.hibernate.mapping.RootClass.validate (RootClass.java:270) ~ [hibernate-core-4.1.5.Final.jar: 4.1.5.Final]
на org.hibernate.cfg.Configuration.validate (Configuration.java:1294) ~ [hibernate-core-4.1.5.Final.jar: 4.1.5.Final]
на org.hibernate.cfg.Configuration.buildSessionFactory (Configuration.java:1736) ~ [hibernate-core-4.1.5.Final.jar: 4.1.5.Final]
на org.hibernate.ejb.EntityManagerFactoryImpl. (EntityManagerFactoryImpl.java:94) ~ [hibernate-entitymanager-4.1.5.Final.jar: 4.1.5.Final]
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory (Ejb3Configuration.java:905) ~ [hibernate-entitymanager-4.1.5.Final.jar: 4.1.5.Final]
... 74 общих кадра опущены
Итак, как я могу это сделать?
Постскриптум
Это устаревшая база данных, и изменение ее дизайна - бюрократическая стычка, поэтому я бы предпочел избежать этого.