返回顶部
首页 > 资讯 > 精选 >@TableName和@Table的区别有哪些
  • 433
分享到

@TableName和@Table的区别有哪些

2023-06-26 06:06:29 433人浏览 薄情痞子
摘要

这篇文章主要介绍“@TableName和@Table的区别有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“@TableName和@Table的区别有哪些”文章能帮助大家解决问题。@TableNa

这篇文章主要介绍“@TableName和@Table的区别有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“@TableName和@Table的区别有哪些”文章能帮助大家解决问题。

    @TableName注解和@Table区别

    最近开发项目的时候,从一个项目迁移代码到另一个项目,原有项目用的是Hibernate,现有项目用的是mybatis-plus,代码迁移过来后,schema属性用于指定数据库实例名。

    但是@Table属性schema在mybatis-plus框架中失效了,一直找不到对应的实例名。 

    前言

    @TableName是mybatis-plus中的注解,主要是实现实体类型和数据库中的表实现映射。

    注意,不要将@TableName和@Table注解认为是一个,虽然功能相同,但是,@TableName是mybatis-plus中的注解,@Table是Hibernate中的注解。

    @TableName参数说明

    @TableName和@Table的区别有哪些

    @TableName源码

    public @interface TableName {    java.lang.String value() default "";    java.lang.String schema() default "";    boolean keepGlobalPrefix() default false;    java.lang.String resultMap() default "";    boolean autoResultMap() default false;}

    @TableName使用

    @TableName("sys_user")// 该注解主要是现实实体类型和数据库中的表实现映射。public class SysUser implements Serializable {    @TableId(type= IdType.AUTO)    private Long id;    private String username;    //用户名    private String loginName;    //登录密码,密码需要加密    private String passWord;}

    @Table

    当实体类与其映射的数据库表名不同名时需要使用 @Table 标注说明,该标注与 @Entity 标注并列使用,置于实体类声明语句之前,可写于单独语句行,也可与声明语句同行。

    @Table 标注的常用选项是 name,用于指明数据库的表名

    @Table标注还有一个两个选项 catalog 和 schema 用于设置表所属的数据库目录或模式,通常为数据库名。uniqueConstraints选项用于设置约束条件,通常不须设置。

    • name属性

    name属性用于指定数据库表名称

    若不指定则以实体类名称作为表名

    • catalog属性

    catalog属性用于指定数据库实例名

    当catalog属性不指定时,新创建的表将出现在url指定的数据库实例中

    当catalog属性设置名称时,若数据库存在和指定名称一致的实例,新创建的表将出现在该实例中

    • schema属性

    作用与catalog属性作用一致,可自行测试

    • uniqueConstraints属性

    uniqueConstraints属性用于设定约束条件

    @Table(name="CUSTOMERS",uniqueConstraints={@UniqueConstraint(columnNames={"name"})})@Entitypublic class Customer {    private Integer id;    private String name;    private String email;    private int age;    ......}

    小结一下

    当实体类名和数据库表名不一致时,name属性可以实现映射,及时表名一致,也推荐使用,提高程序的可读性

    catalog和sechema属性一般不需要指定

    uniqueConstraints属性一般也不需要指定,但是如有需要则可以指定

    Table(name=“xx“)与Entity(name=“xx“) 问题

    @Entity@Table(name="T_qibie")

    这样写的话在hql里要用实体的名字 from QibieVo

    如果是这样的话

    @Entity(name="T_qibie")

    这样写的话在hql里要用表的名字 from T_qibie

    还有有时候只能用@Entity(name="T_qibie")的话,可能是:JAVAEE6.0中的 javax.persistence.jar与 hibernate中的hibernate-jpa-2.1-api-1.0.0.Final.jar冲突 ,而我采取的措施是删除了JAVAEE6.0的库,运行就正常了,然后在加进来有正常了 。

    关于“@TableName和@Table的区别有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

    --结束END--

    本文标题: @TableName和@Table的区别有哪些

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

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

    猜你喜欢
    • @TableName和@Table的区别有哪些
      这篇文章主要介绍“@TableName和@Table的区别有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“@TableName和@Table的区别有哪些”文章能帮助大家解决问题。@TableNa...
      99+
      2023-06-26
    • @TableName注解和@Table的区别及说明
      目录@TableName注解和@Table区别前言@TableName参数说明@Table小结一下Table(name=“xx“)与Entity(name=&...
      99+
      2024-04-02
    • Div与table的区别有哪些
      本篇内容主要讲解“Div与table的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Div与table的区别有哪些”吧!1:速度和加载方式方面的区别 div 和 table 的差异不是...
      99+
      2023-06-08
    • DIV排版和table排版有哪些区别
      这篇文章主要介绍“DIV排版和table排版有哪些区别”,在日常操作中,相信很多人在DIV排版和table排版有哪些区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”DIV排...
      99+
      2024-04-02
    • php=== 和==的区别有哪些
      这篇文章主要介绍“php === 和==的区别有哪些”,在日常操作中,相信很多人在php === 和==的区别有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php === 和==的区别有哪些”的疑惑有所...
      99+
      2023-06-25
    • c#和java的区别有哪些
      Java和C#都是编程的语言,它们是两个不同方向的两种语言。相同点:他们都是面向对象的语言,也就是说,它们都能实现面向对象的思想(封装、继承、多态)。区别:1.c#中的命名空间是namespace类似于Java中的package(包),在J...
      99+
      2021-05-04
      java教程 c# java 区别
    • java ==和equals的区别有哪些
      总结的来说:(1)对于==,比较的是值是否相等;如果作用于基本数据类型的变量,则直接比较其存储的“值”是否相等;如果作用于引用类型的变量,则比较的是所指向的对象的地址。(2)对于equals方法,注意:equals方法不能作用于基本数据类型...
      99+
      2020-10-25
      java入门 java == equals 区别
    • MyISAM 和 InnoDB 的区别有哪些?
      区别:1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务;2....
      99+
      2024-04-02
    • redis和session的区别有哪些
      这篇文章主要介绍redis和session的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!           ...
      99+
      2024-04-02
    • redis和kafka的区别有哪些
      这篇文章给大家分享的是有关redis和kafka的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。 Kafka与Redis PUB/SUB之间较大的区别在于Ka...
      99+
      2024-04-02
    • ​SSDB和Redis的区别有哪些
      这篇文章主要介绍SSDB和Redis的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!SSDB是一个 C++ 开发的 NoSQL 数据库, 使用 Google 公司开源的 L...
      99+
      2024-04-02
    • mongodb和hbase的区别有哪些
      mongodb和hbase的区别有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。没什么有个h...
      99+
      2024-04-02
    • hive和mysql的区别有哪些
      这篇文章给大家分享的是有关hive和mysql的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。区别:1、Mysql采用了SQL语言,Hive采用了类SQL的查询语言HQ...
      99+
      2024-04-02
    • postgresql和mysql的区别有哪些
      这篇文章主要为大家展示了“postgresql和mysql的区别有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“postgresql和mysql的区别有哪些...
      99+
      2024-04-02
    • mysql和oracle的区别有哪些
      本篇内容主要讲解“mysql和oracle的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql和oracle的区别有哪些”吧! ...
      99+
      2024-04-02
    • sqlite和mysql的区别有哪些
      这篇文章主要为大家展示了“sqlite和mysql的区别有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“sqlite和mysql的区别有哪些”这篇文章吧。 ...
      99+
      2024-04-02
    • MongoDB和MySQL的区别有哪些
      这篇文章主要讲解了“MongoDB和MySQL的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MongoDB和MySQL的区别有哪些”吧! ...
      99+
      2024-04-02
    • oracle和mysql的区别有哪些
      小编给大家分享一下oracle和mysql的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
      99+
      2024-04-02
    • mysqli和mysql的区别有哪些
      这篇文章主要介绍“mysqli和mysql的区别有哪些”,在日常操作中,相信很多人在mysqli和mysql的区别有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysq...
      99+
      2024-04-02
    • hbase和mysql的区别有哪些
      本篇内容主要讲解“hbase和mysql的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“hbase和mysql的区别有哪些”吧! ...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作