我在MYSQL中创建了一个简单的数据库:
我还基于此创建了JPA实体,并使用Olingo v2公开了它。 当我尝试通过邮递员创建客户端实体时,它可以正常工作
{
"Name": "John Doe"
}
然而,当我尝试创建地址时
{
"Street": "Street for John Doe",
"Zipcode": "444465",
"Client": 1
}
它以
失败MySQLIntegrityConstraintViolationException:列'clientId'不能为null
由于我使其不可为空而
,因此预计会出现此错误但是我假设“Client”:1将被正确处理并转换为查询:
ClientId
列在Address
实体中可用作连接列:
//bi-directional many-to-one association to Client
@ManyToOne(cascade={CascadeType.ALL})
@JoinColumn(name="clientId")
private Client client;
我已经尝试更改JSON格式以在地址中创建子对象客户端,如下所示:
{
"Street": "Street for John Doe",
"Zipcode": "444465",
"Client": { "Id": 3 }
}
但最终会产生400 - “请求正文格式错误”
我是否在Client属性或其他内容上添加了一些注释?
注意:如果删除连接列并创建列clientId,插入/更新工作正常...但是在这种情况下我最终失去了Odata模型的导航功能
感谢您的反馈,
此致
佩德罗