spring.jpa实现启动项目,根据实体配置在对应数据库创建对应表

1、pom.xml

		<!--  jpa  -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

2、yml配置信息

spring
	jpa:
	    show-sql: false
	    hibernate:
	      ddl-auto: update

spring.jpa.hibernate.ddl-auto 参数用来配置是否开启自动更新数据库表结构,可取create、create-drop、update、validate、none五个值。
create 每次加载hibernate时,先删除已存在的数据库表结构再重新生成;
create-drop 每次加载hibernate时,先删除已存在的数据库表结构再重新生成,并且当 sessionFactory关闭时自动删除生成的数据库表结构;
update 只在第一次加载hibernate时自动生成数据库表结构,以后再次加载hibernate时根据model类自动更新表结构;
validate 每次加载hibernate时,验证数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。
none 关闭自动更新
3、实体信息

@Entity
@Table(name = "t_student",catalog = "translation")
@Data
public class Test {
 
    @Id
    @GeneratedValue
    private Integer id;
    
    @Column(name="name",columnDefinition = "varchar(36) COLLATE utf8_bin NOT NULL COMMENT '姓名")
    private String name;
}

注解@Entity用来标记该类是一个JPA实体类,注解@Table的name指定表名,catalog指定库名;注解@Id用来定义记录的唯一标识,并结合注解@GeneratedValue指定主键生成策略,默认自动;@Column注解字段,name表示字段名,根据columnDefinition 内容生成sql对应的建表语句。
4、如果想要一个类继承另一个类的所有属性,则在父类里这样写:
@SuppressWarnings(“serial”)
@Entity
@MappedSuperclass //增加这一行
并把父类的所有属性的private改为protected,但是得保证父类和子类在同一个项目中
5、@Transient //表示此数据不在数据库表里建立属性

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值