温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

用Hibernate Annotations维护验证逻辑

发布时间:2021-06-18 10:44:25 来源:亿速云 阅读:97 作者:chen 栏目:编程语言

这篇文章主要介绍“用Hibernate Annotations维护验证逻辑”,在日常操作中,相信很多人在用Hibernate Annotations维护验证逻辑问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”用Hibernate Annotations维护验证逻辑”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

Hibernate有很多值得学习的地方,这里我们主要介绍Hibernate Annotations,包括介绍HibernateDoclet等方面。

尽管在 Web 应用程序中尽可能多的层次中构建数据验证非常重要,但是这样做却非常耗时,以至于很多开发人员都会干脆忽略这个步骤 —— 这可能会导致今后大量问题的产生。但是随着***版本的 Java 平台中引入了注释,验证变得简单得多了。本文将向您介绍如何使用Hibernate Annotations 的 Validator 组件在 Web 应用程序中轻松构建并维护验证逻辑。

有时会有一种工具,它可以真正满足开发人员和架构师的需求。开发人员在***次下载这种工具当天就可以在自己的应用程序中开始使用这种工具。理论上来说,这种工具在开发人员花费大量时间来掌握其用法之前就可以从中获益。架构师也很喜欢这种工具,因为它可以将开发人员导向更高理论层次的实现。Hibernate Annotations 的 Validator 组件就是一种这样的工具。

Java SE 5 为 Java 语言提供了很多需要的增强功能,不过其他增强功能可能都不如 注释 这样潜力巨大。使用 注释,我们就终于具有了一个标准、一级的元数据框架为 Java 类使用。Hibernate 用户手工编写 *.hbm.xml 文件已经很多年了(或者使用 XDoclet 来自动实现这个任务)。如果手工创建了 XML 文件,那就必须对每个所需要的持久属性都更新这两个文件(类定义和 XML 映射文档)。使用 HibernateDoclet 可以简化这个过程,但是这需要我们确认自己的 HibernateDoclet 版本支持要使用的 Hibernate 的版本。doclet 信息在运行时也是不可用的,因为它被编写到了 Javadoc 风格的注释中了。Hibernate Annotations通过提供一个标准、简明的映射类的方法和所添加的运行时可用性来对这些方式进行改进。

使用 HibernateDoclet 的 Hibernate 映射代码

/**  * @hibernate.property column="NAME" length="60" not-null="true" */  public String getName() {  return this.name;  }   /**  * @hibernate.many-to-one column="AGENT_ID" not-null="true" cascade="none"   *outer-join="false" lazy="true" */  public Agent getAgent() {  return agent;  }  /**  * @hibernate.set lazy="true" inverse="true" cascade="all" table="DEPARTMENT"   * @hibernate.collection-one-to-many class="com.triview.model.Department" * @hibernate.collection-key column="DEPARTMENT_ID" not-null="true" */  public List<Department> getDepartment() {  return department;  }

使用 Hibernate Annotations 的 Hibernate 映射代码

@NotNull  @Column(name = "name")  @Length(min = 1, max = NAME_LENGTH)   // NAME_LENGTH is a constant declared elsewhere  public String getName() {  return name;  }   @NotNull  @ManyToOne(cascade = {CascadeType.MERGE }, fetch = FetchType.LAZY)  @JoinColumn(name = "agent_id")  public Agent getAgent() {  return agent;  }   @OneToMany(mappedBy = "customer", fetch = FetchType.LAZY)  public List<Department> getDepartment() {  return department;  }

如果使用 HibernateDoclet,那么直到生成 XML 文件或运行时才能捕获错误。使用 注释,在编译时就可以检测出很多错误;或者如果在编辑时使用了很好的 IDE,那么在编辑时就可以检测出部分错误。在从头创建应用程序时,可以利用 hbm2ddl 工具为自己的数据库从 hbm.xml 文件中生成 DDL。一些重要的信息 —— 比如name 属性的***长度必须是 60 个字符,或者 DDL 应该添加非空约束 —— 都被从 HibernateDoclet 项添加到 DDL 中。当使用注释时,我们可以以类似的方式自动生成 DDL。

到此,关于“用Hibernate Annotations维护验证逻辑”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI