`
liyanhui
  • 浏览: 344676 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate的unique配置

阅读更多
在hibernate的配置文件中,有的元素有unique属性的配置,但是我经常看到这个元素被滥用,尤其是一些自动生成hbm文件的工具,经常会自动生成该配置,而且一般开发人员也不理解hibernate配置的真正含义。unique的真正意义是:在生成DDL语句时,才会用到,换句话说,若我们已经有了数据库(这是很常见的),不需要从hbm文件中生成DDL语句的话,就不需要配置这个属性。
ps:http://blog.csdn.net/wangjian5748/archive/2006/09/19/1249890.aspx
实际上,unique在数据添加时并不起任何作用,正如上文所说,它只在从hbm文件生成ddl语句时才有作用,并不会在运行时校验数据。防止数据重复添加,要么在数据库上建立唯一索引(数据库保证),要么在插入时提前校验(人为保证)。当然,多数情况下是两者结合。
分享到:
评论

相关推荐

    Hibernate注解

    * unique 可选,是否在该列上设置唯一约束(默认值false) * nullable 可选,是否设置该列的值可以为空(默认值false) * insertable 可选,该列是否作为生成的insert语句中的一个列(默认值true) * updatable 可选...

    Hibernate注释大全收藏

    通过@SequenceGenerator 和 @TableGenerator 可以配置不同的 identifier 生成器。 table="GENERATOR_TABLE" pk-column-name="key" value-column-name="hi" pk-column-value="EMP" allocation-size="20"/> //...

    hibernate的详细学习笔记

    ACTNO varchar(20) not null unique,BALANCE number(20)); UÏ=w ü³%!g POJO---- POJO 1Hibernate ³äøõñ.uQ°n@R!Domain Object (T%ä]° ïxm get/setm) 9ê!POJOnÏnÙ!“Plain Ordinary Java...

    尚硅谷佟刚 Hibernate1

    2. 创建持久化类 3. 创建对象-关系映射文件 1. 创建 Hibernate 配置文件 1. 创建持久化 Java 类 1. 创建持久化 Java 类 2.

    springboot-schema-per-tenant:使用SpringBoot和Hibernate实现多租户(每个租户单池模式)的种子

    如所建议的,使用SpringBoot和Hibernate实现多租户(每个租户单池模式)的种子项目。 该项目假定可以访问专用的MySql DB(可以在application.properties中进行配置),该数据库具有一个名为default_schema的默认...

    好用的代码生成源码

    rapid-framework是一个以spring为核心的项目脚手架(或者称为胶水框架),框架将各个零散的框架(struts,strust2,springmvc,hibernate,ibatis,spring_jdbc,flex)搭建好,并内置一个代码生成器,辅助项目开发,可以生成...

    jdbc基础和参考

    3.hibernate的配置文件(hibernate.cfg.xml)得存在 4.POJO.hbm.xml文件存在 5.hibernate的jar包以及数据库的驱动包存在 Hibernate的编程: 1.构建Configuration对象读取配置文件 2.读取映射文件 3.构建SessionFactory...

    JAVA代码生成工具

    数据库表配置,用于自定义生成器模板引用的table变量,配置文件必须存放在classpath: generator_config/table/table_name.xml (该文件生成器可以生成,自己再自定义修改) <!-- <数据库表名 className="类名称" ...

    Java学习笔记-个人整理的

    {12.21.1}primary key, unique}{181}{subsection.12.21.1} {12.21.2}unique}{182}{subsection.12.21.2} {12.21.3}foreign key}{182}{subsection.12.21.3} {12.22}view}{187}{section.12.22} {12.23}index, ...

    technoscatter

    技术散射: 它是使用基于 Java 的配置的 Spring Hibernate 集成示例。 本示例将在数据库中存储、更新、删除客户信息。 在数据库端,使用以下查询在mysql中创建客户表CREATE TABLE CUSTOMER(id INT NOT NULL AUTO_...

Global site tag (gtag.js) - Google Analytics