В GraphQL-SPQR версии 0.9.9 и более ранних версий закрытые члены вообще не сканируются, поэтому аннотации в закрытых полях обычно ничего не делают.Кстати, Джексон (или Gson, если так настроен) используется для обнаружения десериализуемых полей в типах ввода, и эти библиотеки do рассматривают частные поля, поэтому некоторые аннотации будут выглядеть какработает для типов ввода.Это то, что происходит в вашем случае.Но @GraphQLIgnore
- это , а не среди аннотаций, которые будут работать с приватным полем.
Вам нужно переместить аннотации в методы получения и установки.
@Entity
public class MyEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private UUID id;
@GraphQLIgnore //This will prevent ID from being mapped on the input type
//@JsonIgnore would likely work too
public void setId(UUID id) {...}
}
Есть и другие способы достижения этого, но это самый простой способ.
Примечание. В будущих версиях SPQR (публикация 0.9.9) можно будет размещать аннотации в приватном виде.поля, но смешивание (размещение некоторых аннотаций в поле, а некоторых - в связанных методах получения / установки) не будет работать.