Я хочу использовать аннотацию @idclass, чтобы сделать композитный PK из длинных значений и даты. При отладке я заметил, что метод equals () не используется, моя точка останова никогда не попадает.@Entity
@Table(name = "view_ins_test", schema = "dbo")
@IdClass(value = InsPK.class)
public class InsTest {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ins_id", nullable = false)
private Long id;
@Id
@Temporal(TemporalType.DATE)
@Column(name = "ins_data")
private Date data;
// + getters/setters
}
< /code>
composite pk class: < /p>
public class InsPK implements Serializable {
private Long id;
private Date data;
public InsPK() {
}
public InsPK(Long id, Date data) {
this.id = id;
this.data = data;
}
@Override
public int hashCode() {
int hash = 7;
hash = 89 * hash + Objects.hashCode(this.id);
hash = 89 * hash + Objects.hashCode(this.data);
return hash;
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (!(obj instanceof InsPK)) return false;
InsPK other = (InsPK) obj;
return Objects.equals(this.id, other.id) && Objects.equals(this.data, other.data);
}
// + getters/setters
}
< /code>
Я пробовал несколько вариантов, но не удалось заставить его работать. В чем может быть проблема в таком случае и как лучше всего его решить?
Подробнее здесь: https://stackoverflow.com/questions/654 ... th-idclass
Почему equals () не вызывается @idclass ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
PYSAT Как применить Clausify к объекту Equals при использовании объекта Equals в CNF?
Anonymous » » в форуме Python - 0 Ответы
- 45 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Ошибка матча по каратэ: совпадение не удалось: EQUALS $ | совпадение не удалось: EQUALS
Anonymous » » в форуме JAVA - 0 Ответы
- 44 Просмотры
-
Последнее сообщение Anonymous
-