如何处理 GraphQL SPQR 中的身份字段
How to handle identity fields in GraphQL SPQR
假设我有
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="trade_id")
int tradeId;
当我从数据库中查询这个时,我会想要获取 tradeId。但是,在执行创建时,显然我没有 tradeId,因为数据库会在我插入时生成它。
input TradeInput {
tradeId: Int!
...
但是 SPQR 为我生成的模式正在将此字段设置为 Not Null。
所以我的问题是,如何防止此字段自动出现为 Not Null,这样我就不必在创建时将其发送下来,但可以检索它。
一个int
根本不可能是null
。但是你有几个选择:
- 将其转换为
ID
标量类型(使用 @GraphQLId
)而不是 Int
- 通过
@GraphQLInputField
给它一个默认值
- 使用
Integer
而不是 int
,因为 Integer
可以为空
假设我有
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="trade_id")
int tradeId;
当我从数据库中查询这个时,我会想要获取 tradeId。但是,在执行创建时,显然我没有 tradeId,因为数据库会在我插入时生成它。
input TradeInput {
tradeId: Int!
...
但是 SPQR 为我生成的模式正在将此字段设置为 Not Null。
所以我的问题是,如何防止此字段自动出现为 Not Null,这样我就不必在创建时将其发送下来,但可以检索它。
一个int
根本不可能是null
。但是你有几个选择:
- 将其转换为
ID
标量类型(使用@GraphQLId
)而不是Int
- 通过
@GraphQLInputField
给它一个默认值
- 使用
Integer
而不是int
,因为Integer
可以为空