#java #eclipse #hibernate #jpa
#java #eclipse #спящий режим #jpa
Вопрос:
У меня есть эта ошибка в моем редакторе eclipse Этот класс имеет составной первичный ключ. Он должен использовать класс ID. , но у класса нет составного первичного ключа, потому что идентификатор длинный
@SuppressWarnings("serial")
@Entity
@Table(name = "T_PRODUCT")
@SequenceGenerator(name = "seqPRODUCT", sequenceName = "SEQ_PRODUCT")
public class Product extends ItemBase implements java.io.Serializable {
@Id
private Long id;
@Id
@Column(name = "ID", unique = true, nullable = false, precision = 38, scale = 0)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seqPRODUCT")
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
..
}
Комментарии:
1. я думаю, у вас есть 2 аннотации идентификаторов?
2. @pandaadb это было так, пожалуйста, преобразуйте в ответ
3. Ошибка при сборке или просто при проверке Eclipse в редакторе? Мне просто любопытно, потому что я думал, что Hibernate может распознать его, когда он находится в сеттере для того же поля, и просто выдать предупреждение для смешивания свойства (getter / setter) и доступа к полю.
Ответ №1:
Hibernate видит как аннотации к свойству, так и к методу получения и, следовательно, предполагает, что вы используете составной ключ.