iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >JPA如何设置表名和实体名,表字段与实体字段的对应
  • 212
分享到

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

2024-04-02 19:04:59 212人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

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

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

首先 你的jpaProperties配置项中要有


<prop key="hibernate.hbm2ddl.auto">update</prop>

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

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


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 style="font-family: Arial, Helvetica, sans-serif;">//设置数据库中字段名字,也可以设置长度,是否为空等属性</span>
 private String username;
 @Column(name="PASS_Word")
 private String password;
 @Column(name="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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: JPA如何设置表名和实体名,表字段与实体字段的对应

本文链接: https://www.lsjlt.com/news/157943.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作