hibernate的ddl-auto可选参数:
- create 启动时删数据库中的表,然后创建,退出时不删除数据表
- create-drop 启动时删数据库中的表,然后创建,退出时删除数据表 如果表不存在报错
- update 如果启动时表格式不一致则更新表,原有数据保留
- validate 项目启动表结构进行校验 如果不一致则报错
- none 禁用DDL处理,不做任何数据库操作
hibernate的dialect所支持的 SQL 方言
根据不同数据库引擎,配置相对应的sql方言#配置 Jpajpa:properties:hibernate:ddl-auto: nonedialect: org.hibernate.dialect.MySQL5InnoDBDialectopen-in-view: true
GenerationType:
JPA提供的四种标准用法为TABLE,SEQUENCE,IDENTITY,AUTO.
- TABLE:使用一个特定的数据库表格来保存主键
- SEQUENCE:根据底层数据库的序列来生成主键,条件是数据库支持序列 oracle
- IDENTITY:主键由数据库自动生成(主要是自动增长型) mysql
- AUTO:主键由程序控制为上述三种之一 ```java @Id 声明主键 @GeneratedValue(strategy = GenerationType.IDENTITY) 配置主键的生成策略 @Column(name = “user_id”) 配置属性和字段的映射关系 name: 数据库表中字段的名称
@Entity 声明实体类 @Getter @Setter @Table(name=”sys_user”) 配置实体类与数据库表的映射关系
<a name="tcaSO"></a>### JpaRepository<a name="6MQFP"></a>### 复杂查询@Query<a name="71eva"></a>### 根据方法名进行查询<br /><br /><a name="83S2n"></a>### ManyToMany表结构```java@ManyToMany@ApiModelProperty(value = "用户角色")@JoinTable(name = "sys_users_roles", //name, 中间表的表名称//joinColumns 当前对象在中间表中的外键joinColumns = {@JoinColumn(name = "user_id",referencedColumnName = "user_id")},//inverseJoinColumns,对方对象在中间表中的外键inverseJoinColumns = {@JoinColumn(name = "role_id",referencedColumnName = "role_id")})private Set<Role> roles;

