gpt4 book ai didi

java - 数据库字段验证客户端

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:28:35 26 4
gpt4 key购买 nike

我想为我的使用 SpringMVC 和 Hibernate 的应用程序自动执行客户端数据验证,特别是在违反引用完整性约束的情况下。我的应用程序结构的一个简单版本如下:

数据库

我有一个带有一些表的 oracle 数据库,让我们举个例子

一个表 DOCUMENT使用整数主键 DOC_KEY和一个 TITLE field 一张 table PAGE使用外键 FK_DOCUMENT_ID , 一把 key PAG_KEY和一个文本“TEXT”字段。

ORM/应用层

我有两个( hibernate )实体(DocumentPage)映射这些表。创建 Page你需要创建一个 Document以前,不可能创建 Page没有指定相关的DOC_KEY在外键字段中。

网络层

我创建了一个表单,允许用户创建一个包含一些页面的新文档。他可以为文档和一页或多页插入标题。试图创建 Page未指定 Document 的对象title 导致数据库错误,因为没有为页面指定文档。

示例用例

用户尝试创建一个设置其内容但未指定文档标题的页面。客户端 validator 将标题字段标记为红色,要求用户填写。

问题

如果我尝试插入的实体/对象/行不满足 FK 完整性规则检查,是否可以自动生成客户端验证规则以避免服务器端调用?

或者是否有任何工具允许客户端验证工具“理解”外键一致性?

我尝试使用 jquery,但无法找到自动检查外键一致性的方法。

编辑:*已接受答案的注释*当然,如果不在客户端进行查询或缓存,就无法知道数据库客户端的状态,但是检查 key 是否存在以及是否满足完整性约束是必需的。我接受的答案与问题的重点相符。我早该想到的

最佳答案

Is it possible to automatically generate client side validation rules to avoid a server side call in case the Entity/Object/row I'm trying to insert doesn't satisfy the FK integrity rule check?

答案是否定的..!!

数据库可以设置不同的外键关系映射,通过在映射类中指定外键关系来维护数据库的完整性。但是hibernate在前端并没有做任何事情。!!

你可以做到 validations使用 hibernate 注释。但这只能在后端完成。Hibernate 不处理前端。!!

我了解您的要求,但 hibernate 不是前端工具。我建议,任何与数据库通信相关的操作都必须留在后端,否则它会成为安全怪胎的切入点。 最好把它放在服务层后面。

关于java - 数据库字段验证客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17974265/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com