当前位置: 首页 > news >正文

做个网站找别人做的吗绘画网站建设

做个网站找别人做的吗,绘画网站建设,广东广州网点快速网站建设,建外贸企业网站本文讨论了hibernate提供的不同命名策略#xff0c;以及命名策略从hibernate 4中的hibernate.ejb.naming_strategy到hibernate 5中的hibernate.implicit_naming_strategy和hibernate.physical_naming_strategy的转变。最后#xff0c;我们将研究一下在休眠和配置中实施自定义… 本文讨论了hibernate提供的不同命名策略以及命名策略从hibernate 4中的hibernate.ejb.naming_strategy到hibernate 5中的hibernate.implicit_naming_strategy和hibernate.physical_naming_strategy的转变。最后我们将研究一下在休眠和配置中实施自定义命名策略以与Spring Boot应用程序一起运行。 Hibernate 4命名策略 Hibernate使用这些策略将Java实体和属性名称与相应的关系数据库和列名称进行映射。 在休眠4中使用的命名策略是hibernate.ejb.naming_strategy。 该策略使用EJB3NamingStrategy 改良的 NamingStrategy DefaultComponentSafeNamingStrategy和DefaultNamingStrategy来映射名称。 EJB3NamingStrategy是使用的默认命名策略它提供驼峰字段和表名。在命名外键列时它使用undescore_作为分隔符。 例如如果您有一个名称为table1且表名分别为id和name的表那么在table2中外键列将被创建为table1_id并且此EJB3NamingStrategy实现了NamingStrategy接口。 Hibernate 5命名策略 Hibernate 5发布后由于NamingStrategy合同通常不够灵活以至于无法正确应用给定的命名“规则”因此hibernate.ejb.naming_strategy不再适用。 取而代之的是引入了两种新策略来提供命名策略的深度自定义它们是ImplicitNamingStrategy和PhysicalNamingStrategy。 要使用此策略有两个密钥需要使用implicit_naming_strategy和physical_naming_strategy。Hibernate5仅提供了PhysicalNamingStrategy的一种实现– PhysicalNamingStrategyStandardImpl但是提供了ImplicitNamingStrategy的几种实现。 当您在实体定义中未明确提供数据库名称和列名称时将使用ImplicitNamingStrategy因为PhysicalNamingStrategy可以用于显式定义实体名称和属性名称与数据库和列名称的映射规则。 隐式命名策略 当实体未明确命名其映射到的数据库表时或当特定属性未明确命名其映射到的数据库列时将使用ImplicitNamingStrategy。我们可以使用hibernate.implicit_naming_strategy配置设置指定要使用的ImplicitNamingStrategy来接受默认值是jpalegacy-hbmlegacy-jpa和component-path。 物理命名策略 PhysicalNamingStrategy的思想是定义自定义命名规则而不必通过显式名称将其硬编码到映射中。以下是PhysicalNamingStrategy的一种实现用于定义自定义表名和列名。 package com.devglan;import java.util.LinkedList; import java.util.List; import java.util.Locale;import org.hibernate.boot.model.naming.Identifier; import org.hibernate.boot.model.naming.PhysicalNamingStrategy; import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;import org.apache.commons.lang3.StringUtils;public class CustomPhysicalNamingStrategy implements PhysicalNamingStrategy {Overridepublic Identifier toPhysicalCatalogName(Identifier name, JdbcEnvironment jdbcEnvironment) {return name;}Overridepublic Identifier toPhysicalSchemaName(Identifier name, JdbcEnvironment jdbcEnvironment) {return name;}Overridepublic Identifier toPhysicalTableName(Identifier name, JdbcEnvironment jdbcEnvironment) {final List parts splitAndReplace( name.getText() );return jdbcEnvironment.getIdentifierHelper().toIdentifier(join( parts ),name.isQuoted());}Overridepublic Identifier toPhysicalSequenceName(Identifier name, JdbcEnvironment jdbcEnvironment) {return name;}Overridepublic Identifier toPhysicalColumnName(Identifier name, JdbcEnvironment jdbcEnvironment) {final List parts splitAndReplace( name.getText() );return jdbcEnvironment.getIdentifierHelper().toIdentifier(join( parts ),name.isQuoted());}private LinkedList splitAndReplace(String name) {LinkedList result new LinkedList();for ( String part : StringUtils.splitByCharacterTypeCamelCase( name ) ) {if ( part null || part.trim().isEmpty() ) {continue;}result.add( part.toUpperCase( Locale.ROOT ) );}return result;}private String join(List parts) {boolean firstPass true;String separator ;StringBuilder joined new StringBuilder();for ( String part : parts ) {joined.append( separator ).append( part );if ( firstPass ) {firstPass false;separator _;}}return joined.toString();} } 要在休眠状态下使用此自定义策略请执行以下配置。 jpaProperties.put(hibernate.physical_naming_strategy, com.devglan.config.CustomPhysicalNamingStrategy);Spring Boot中的休眠命名策略 正如我们所讨论的那样hibernate提供了两种不同的命名策略而Spring Boot使用SpringPhysicalNamingStrategy配置了物理命名策略其中所有的点都由下划线代替而驼峰的大小写由下划线代替并且所有表名均以小写形式生成。例如USERDETAILS实体映射到user_details表。 如果要使用上面实现的自定义命名策略可以在application.properties中进行以下配置。 spring.jpa.hibernate.naming.physical-strategycom.devglan.config.CustomPhysicalNamingStrategy);结论 在本文中我们了解了Spring Boot和Hibernate提供的不同命名策略以及实现我们自己的自定义命名策略的方法。 如果您有任何要添加或共享的内容请在下面的评论部分中共享。 翻译自: https://www.javacodegeeks.com/2018/03/different-hibernate-naming-strategy.html
http://www.pierceye.com/news/663844/

相关文章:

  • 51zwd一起做网站广州广东省网站备案查询
  • 如何生成一个网站自己弄公司网站
  • 企业信用信息查询网官网孝感网站seo
  • 中淼建设工程有限公司网站分类用wordpress
  • 腾讯建设网站首页做销售网站
  • 推广引流网站聚名网注册
  • 原来做网站后来跑国外了多伦多网站建设多少钱
  • 手机建站平台做母婴网站设计思路
  • 免费个人手机网站九八智能建站
  • 中山网站备案如何做购物网站
  • 常见的简单的网站制作建设网站的好公司
  • 邯郸网站制作建设wordpress+怎么迁移
  • 设计创意广告上海企业网站优化
  • 自己做网站需要购买服务器吗WordPress文章相册修改
  • 校园招聘哪个网站做的好学做川菜网站
  • 大足网站建设公司医院网站建设熊掌号
  • 做网站编辑是不是也要做推广做蛋白go分析网站
  • 免费品牌网站制作云南电商网站建设
  • 宿迁莱布拉网站建设常州做网站建设的公司
  • 广东网站建站系统哪家好常州网站搭建公司
  • 400网站建设推广软件工程师工资
  • 专门做正品的网站手机版深圳市门户网站建设怎么样
  • 做外贸比较好的网站有哪些北京短视频代运营
  • 建站公司学习筑梦网站建设
  • 手工艺品网站建设侧胡顺个人简历表格可填写
  • 电商网站竞价推广策略淘宝做问卷的网站
  • 门窗 东莞网站建设婚庆公司收费标准
  • 网站页面下沉的特效代码网络建设存在的问题
  • 给网站做维护是什么工作网页怎么赚钱
  • 三丰云做游戏网站win主机安装wordpress