【发布时间】:2015-12-15 18:31:50
【问题描述】:
我在使用 ajax 将数据发布到另一个表中包含外键的表时遇到了一些困惑。我可以通过 spring pojo 的对象绑定来做到这一点,但我正在尝试创建一个程序,纯粹以 JSON 格式处理客户端和服务器端数据传输。
例如,Student 和 Grade 表之间存在一对多关系。成绩表中的外键是student_id。
现在,如果我尝试在学生 id = 1 的grade 表中插入。json 数据应该是什么样的?
假设成绩表包含这三列:
grade_Id, grade_received, student_id_fk
如果没有外键,我可以像这样传递 json 数据:
{
"grade_Id": 2,
"grade_received": "A"
}
如果我需要 json 数据包含student_id_fk,我需要更改什么?
【问题讨论】:
-
无法理解您的问题,为什么您不能在 JSON 中使用“student_id_fk”键值对??
-
如果我错了,@hagrawal 纠正我。在我的
Grade实体中,@ManyToOne注释位于private Student student;变量之上。所以我的 pojo 中并没有真正的student_id_fk变量。 -
但是在插入时你需要知道并传递作为学生表中主键的学生 id 值。它不像触发器可以基于某事做某事,这是你的核心信息需要..唯一的问题是学生表中应该存在学生ID,同时插入成绩表..但是你需要学生ID..所以成绩对象的学生对象将有学生ID..但是从客户端你需要传递学生 id .. 这无论如何都会发生,因为大概你没有在你的 Grade 对象/JSON 中传递 NULL 学生 ..
-
看看我更新的评论..
-
@hagrawal 是的,在进行 ajax 调用时,student_id 将可用。所以你说我在 json 数据中传递了
student_id_fk,并使用 id 来获取Student对象java端?
标签: java json spring hibernate orm