Почему спящий режим выдает эту ошибку, когда я помещаю временный тег? - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь исправить уязвимости, которые указывает мне Kiuwan.

Проблема в том, что одна из них добавляет тип Transient к переменной типа Date, когда я это делаю, это дает мне следующее ошибка.

Caused by: org.hibernate.AnnotationException: com.pack.keys.MyClassKey has no persistent id property: com.pack.logic.MyClass.id

Если я не помещаю переходный процесс в Date, не показывать ошибку и компилировать мой проект.

MyClass

@Table(name = "tablename")
@AllArgsConstructor
@NoArgsConstructor
@Data
public class MyClass{

    @EmbeddedId
    private MyClassKey id;

    private String string1;

    //Many String more...

MyClassKey

@Embeddable
@AllArgsConstructor
@NoArgsConstructor
@Data
public class MyClassKey implements Serializable {

    private static final long serialVersionUID = 1L;

    private transient String string1;

    private transient String string2;

    private transient String string3;

    @Temporal(TemporalType.TIMESTAMP)
    private transient Date myDate;
}



Спасибо.

1 Ответ

0 голосов
/ 05 мая 2020

Потому что переходный процесс исключает атрибуты из Hibernate. Он имеет тот же эффект, что и добавление аннотации @Transient:

https://javaee.github.io/javaee-spec/javadocs/javax/persistence/Transient.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...