JPA如何设置表名和实体名,表字段与实体字段的对应

网友投稿 1055 2022-11-21

JPA如何设置表名和实体名,表字段与实体字段的对应

目录JPA设置表名和实体名,表字段与实体字段的对应JPA数据库表实体命名规则application.properties 写法

JPA设置表名和实体名,表字段与实体字段的对应

首先 你的jpaProperties配置项中要有

update

这样就可以直接有对象映射为表结构,实现面向对象向数据库转化。

实体的名字可以和表名字不一样,字段名字和实体的名字也可以不一样。

package com.shiroweb.entitys;

import java.util.Date;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

import javax.persistence.Table;

@Entity

@Table(name="shiro_user")//设置数据库中表名字

public class ShiroUser {

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

private Long id;

@Column(name="USER_NAME")//设置数据库中字段名字,也可以设置长度,是否为空等属性</span>

private String username;

@Column(name="PASS_WORD")

private String password;

@Column(name="http://CREATE_DATE")

private Date createDate;

@Column(name="USER_ID")

private String userId;

public String getUserId() {

return userId;

}

public void setUserId(String userId) {

this.userId = userId;

}

public Long getId() {

return id;

}

public void setId(Long id) {

this.id = id;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public Date getCreateDate() {

return createDate;

}

public void setCreateDate(Date createDate) {

this.createDate = createDate;

}

}

JPA数据库表实体命名规则

Unknown column 'user0_.create_time' in 'field list'

数据库,表字段命名是驼峰命名法(createTime),Spring data jpa 在操作表的时候,生成的sql语句中却是create_time, 表字段不对照,

Spring data jpa基于hibernate-core-5.2.16.final.jar

这是由于jpa中hibernate的字段全名策略引起的,默认是SpringPhysicalNamingStrategy,在hibernate的包:org.hibernate.boot.model.naming中有一堆的命名策略,当然也可以实现

PhysicalNamingStrategy自定义实现。

application.properties 写法

1、无修改命名

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

2、遇到大写字母 加”_”的命名

spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:重置样式表
下一篇:GoLand No Tests Were Run : 不能使用 fmt.Printf()
相关文章

 发表评论

暂时没有评论,来抢沙发吧~