@table注解详解

[email protected]和@entity注解的区别

@entity当实体类名和表名相同,实体属性和表字段相同时,会默认完成实体属性和表字段的映射,当表名和实体类名不同,表字段和实体属性不同时,需要使用@table和@column注解完成实体和表直接的映射

[email protected]注解默认的情况下只会完成表和实体之间的映射,但是当在application,yml文件中填加了配置之后就会创建表并完成映射

3.application.yml的配置

jpa:

hibernate:

ddl-auto 的几个常用属性值:

none:默认值,什么都不做,每次启动项目,不会对数据库进行任何验证和操作

create:每次运行项目,没有表会新建表,如果表内有数据会被清空

create-drop:每次程序结束的时候会清空表

update:每次运行程序,没有表会新建表,但是表内有数据不会被清空,只会更新表结构。

validate:运行程序会校验数据与数据库的字段类型是否相同,不同会报错

实际项目中 update 用的多一点,因为它只更新对象关系的变化,不会清空数据或者重建表。

需要注意的是,如果你不打算在设计表的时候强制加表级别的外键关系约束,就自己手动建表,然后不设置 jpa.hibernate.ddl-auto 或者设置它的值为 none。

因为使用 update 更新表,每次启动 @OneToOne、@OneToMany 等注解会检查表的外键关系,然后强制建立表外键约束,这个很烦人。

原文地址:https://www.cnblogs.com/wang66a/p/12069282.html

时间: 2024-08-30 16:27:46

@table注解详解的相关文章

【转】@RequestParam @RequestBody @PathVariable 等参数绑定注解详解

@RequestParam @RequestBody @PathVariable 等参数绑定注解详解 2014-06-02 11:24 23683人阅读 评论(2) 收藏 举报 目录(?)[+] 引言: 接上一篇文章,对@RequestMapping进行地址映射讲解之后,该篇主要讲解request 数据到handler method 参数数据的绑定所用到的注解和什么情形下使用: 简介: handler method 参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主

Spring中常用的配置和注解详解

一.  Spring中常用的配置文件详解 Spring中的配置文件详解 1.<!-- 配置注解bean的扫描路径 该配置表示从cn包下开始扫描--> <context:component-scan base-package="cn"></context:component-scan> 2.<!-- 加载资源文件 其中Location表示从哪个路径加载配置文件properties--> <context:property-placeh

Oracle创建表语句(Create table)语法详解及示例

Oracle创建表语句(Create table)语法详解及示例   创建表(Create table)语法详解1. ORACLE常用的字段类型ORACLE常用的字段类型有VARCHAR2 (size) 可变长度的字符串, 必须规定长度CHAR(size) 固定长度的字符串, 不规定长度默认值为1NUMBER(p,s) 数字型p是位数总长度, s是小数的长度, 可存负数最长38位. 不够位时会四舍五入.DATE 日期和时间类型LOB 超长字符, 最大可达4GCLOB 超长文本字符串BLOB 超长

Java——注解详解

Java注解同 classs 和 interface 一样,注解也属于一种类型.它是在 Java SE 5.0 版本中开始引入的概念. 注解的定义 通过 @interface 关键字进行定义. public @interface TestAnnotation { } 这段代码就创建了一个名字为 TestAnnotaion 的注解. 你可以简单理解为创建了一张名字为 TestAnnotation 的标签. 使用注解 @TestAnnotation public class Test { } 在类上

Java基础13:反射与注解详解

Java基础13:反射与注解详解 什么是反射? 反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性. Oracle官方对反射的解释是 Reflection enables Java code to discover information about the fields, methods and constructors of loaded classes, and to use reflected fi

springMVC的注解详解

springmvc常用注解标签详解 1.@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@Request

(转)Hibernate 注解详解

原博:http://blog.csdn.net/sufei58/article/details/48223731 仅作为收藏使用. 一.实体Bean 每个持久化POJO类都是一个实体Bean, 通过在类的定义中使用 @Entity 注解来进行声明. 声明实体Bean @Entitypublic class Flightimplements Serializable {  Long id;  @Id  public Long getId() { return id; }  public void

Hibernate注解详解

一.实体Bean 每个持久化POJO类都是一个实体Bean, 通过在类的定义中使用 @Entity 注解来进行声明. 声明实体Bean @Entitypublic class Flightimplements Serializable {  Long id;  @Id  public Long getId() { return id; }  public void setId(Long id) { this.id = id; }} @Entity 注解将一个类声明为实体Bean, @Id 注解声

spring+hibernate实体类注解详解(非原创) + cascade属性取值

@Entity //继承策略.另一个类继承本类,那么本类里的属性应用到另一个类中 @Inheritance(strategy = InheritanceType.JOINED ) @Table(name="INFOM_TESTRESULT") public class TestResult extends IdEntity{} 1 @Entity(name="EntityName") 必须 name为可选,对应数据库中一的个表 2 @Table(name="