У меня есть следующий класс Entity и другой класс для составных первичных ключейorg.hibernate.MappingException: Повторный столбец отображения для объекта
Entity класс
@Entity
@Table(name = "PROJECTS")
public class Project {
private Integer SlNo;
private Long projectNo;
private Date projectDate;
@EmbeddedId
ProjectPK projectPK;
Первичного ключ класса
public class ProjectPK implements Serializable {
private Integer SlNo;
@Column(name = "project_no", insertable = false, updatable = false)
private Long projectNo;
public ProjectPK(){
}
// with getters and setters and equals and hashCode implementation
Проблема: я получаю следующие исключения
:org.hibernate.MappingException:Repeated column in mapping for entity
: test.Project column: projectNo (should be mapped with
insert="false" update="false")
Я добавил следующее в Project Entity
классе, но я получаю такое же исключение
@Column(name = "project_no", insertable = false, updatable = false)
Редактировать 1
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Long> countQ = cb.createQuery(Long.class);
Root<Project> empCount = countQ.from(Project.class);
countQ.select(cb.count(empCount));
TypedQuery<Long> countquery = entityManager.createQuery(countQ);// error in this line
Я думаю, что вы должны сделать SlNo только для чтения. Вы все еще можете прочитать его в своем коде, но вам придется использовать объект ProjectPK для его обновления ... –
@PierreHenry Я пробовал SlNo читать только как projectNo, однако это не решило проблему. – user75ponic