首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring-在远程tomcat服务器上启动的Hibernate不会创建表。Drop和create工作,alo data.sql在本地主机上被正确拾取

Spring是一个开源的Java开发框架,它提供了一种简化Java开发的方式。Hibernate是一个Java持久化框架,用于将Java对象映射到关系型数据库中。在远程Tomcat服务器上启动的Hibernate不会创建表的问题可能是由于配置或环境问题引起的。

首先,需要确保在Hibernate的配置文件中正确配置了数据库连接信息,包括数据库类型、地址、端口、用户名和密码等。可以使用Spring的配置文件或者注解方式进行配置。

其次,需要确保在远程Tomcat服务器上已经正确部署了数据库驱动程序。可以将数据库驱动程序的jar文件放置在Tomcat的lib目录下,或者在项目的构建文件中添加依赖。

另外,还需要确保在远程Tomcat服务器上已经正确创建了数据库,并且具有足够的权限进行表的创建操作。可以使用数据库管理工具或者命令行工具创建数据库,并为相应的用户授权。

如果以上步骤都正确配置和部署了,但仍然无法创建表,可以尝试以下解决方法:

  1. 检查Hibernate的配置文件中是否正确指定了要映射的实体类,并且实体类的注解或XML映射文件是否正确配置了表名和字段名等信息。
  2. 检查数据库连接是否正常,可以尝试使用数据库客户端工具连接数据库,验证连接是否成功。
  3. 检查数据库用户是否具有足够的权限进行表的创建操作,可以尝试使用数据库客户端工具以该用户身份执行创建表的SQL语句,验证是否能够成功创建表。
  4. 检查数据库驱动程序是否正确加载,可以在代码中添加一些日志输出,验证数据库驱动程序是否成功加载。
  5. 检查数据库表是否已经存在,如果表已经存在,Hibernate默认不会再次创建表。可以尝试删除已存在的表,然后重新启动应用程序。

对于数据初始化的问题,可以使用Spring的数据初始化功能来加载数据。可以在项目中创建一个data.sql文件,编写SQL语句来初始化数据。在Spring的配置文件中配置数据初始化的相关参数,包括数据源和数据初始化文件的位置。

总结起来,解决Hibernate不创建表的问题需要确保正确配置数据库连接信息、正确部署数据库驱动程序、正确创建数据库并授权、正确配置实体类的映射信息、验证数据库连接是否正常、验证数据库用户权限、验证数据库驱动程序加载情况、验证数据库表是否已存在。同时,可以使用Spring的数据初始化功能来加载数据。

腾讯云提供了一系列云计算相关的产品和服务,包括云服务器、云数据库、云存储等。具体推荐的产品和产品介绍链接地址可以根据具体需求和场景来选择,可以参考腾讯云官方网站的相关文档和产品介绍页面。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

初始化数据库导入数据

程序启动时,经由Hibernate计算出schema会用来创建结构,程序结束时这些也被删除。...即使程序强制退出或者奔溃,重新启动时候也会先把之前删除,并重新创建——因此"create-drop"这种配置不适合生产环境。...classpath下创建import.sql文件供Hibernate使用,该文件中内容是一些SQL语句,将会在应用程序启动时运行。...schema.sql文件包含创建数据库结构SQL语句,应用程序启动过程中,需要创建数据库结构时,执行该文件中DDL语句。...Hibernate会自动删除已经存在,如果我们希望只有某个不存在时候才创建它,可以在这个文件开头最好先使用DROP TABLE IF EXISTS删除可能存在,再使用CREATE TABLE

1.7K40

SpringBoot系列之数据库初始化-jpa配置方式

一篇博文介绍如何使用spring.datasource来实现项目启动之后数据库初始化,本文作为数据库初始化第二篇,将主要介绍一下,如何使用spring.jpa配置方式来实现相同效果 <!...: ddl-auto: update # 取值create/create-drop时,会根据Entity生成之后,再使用import.sql文件导入初始化数据; 为update时,则执行是...,将ddl-auto设置为create或者create-drop时,会自动搜索@Entity实体对象,并创建为对应 II....小结 使用Jpa配置方式,总体来说和前面的介绍spring.datasource配置方式差别不大,jpa方式主要是基于@Entity来创建对应结构,且不会出现再次启动之后重复建导致异常问题.../create-drop 这两个取值时,再创建之后执行import.sql文件导入测试数据;若取值为update,则会执行data.sql 本文作为数据初始化第二篇,推荐与前文对比阅读,收获更多知识点

1.1K10
  • springboot(十三):springboot小技巧

    使用Jpa 使用 spring boot jpa情况下设置 spring.jpa.hibernate.ddl-auto属性设置为 create or create-drop时候,spring boot...create-drop :每次加载hibernate时根据model类生成,但是sessionFactory一关闭,就自动删除。...要注意是当部署到服务器后,结构是不会被马上建立起来,是要等 应用第一次运行起来后才会。...validate :每次加载hibernate时,验证创建数据库结构,只会和数据库中进行比较,不会创建,但是会插入新值。 5、 none : 什么都不做。...不同点 第一种方式启动时候Jpa会自动创建,import.sql只负责创建表单后初始化数据。第二种方式启动时候不会创建,需要在初始化脚本中判断是否存在,再初始化脚本步骤。

    1.2K100

    Spring Boot (十三): Spring Boot 小技巧

    使用 Jpa 使用 spring boot jpa情况下设置 spring.jpa.hibernate.ddl-auto属性设置为 create or create-drop时候,Spring...ddl-auto 四个值解释 create:每次加载hibernate时都会删除一次生成,然后根据你model类再重新来生成新,哪怕两次没有任何改变也要这样执行,这就是导致数据库数据丢失一个重要原因...create-drop :每次加载hibernate时根据model类生成,但是sessionFactory一关闭,就自动删除。...要注意是当部署到服务器后,结构是不会被马上建立起来,是要等 应用第一次运行起来后才会。...不同点 第一种方式启动时候 Jpa 会自动创建,import.sql 只负责创建表单后初始化数据。第二种方式启动时候不会创建,需要在初始化脚本中判断是否存在,再初始化脚本步骤。

    1.2K20

    SpringBoot开发案例之整合Spring-data-jpa

    该参数几种配置如下: create:每次加载hibernate时都会删除一次生成,然后根据你model类再重新来生成新,哪怕两次没有任何改变也要这样执行,这就是导致数据库数据丢失一个重要原因...create-drop:每次加载hibernate时根据model类生成,但是sessionFactory一关闭,就自动删除。...update:最常用属性,第一次加载hibernate时根据model类会自动建立起结构(前提是先建立好数据库),以后加载hibernate时根据model类自动更新结构,即使结构改变了但行仍然存在不会删除以前行...要注意是当部署到服务器后,结构是不会被马上建立起来,是要等应用第一次运行起来后才会。...validate:每次加载hibernate时,验证创建数据库结构,只会和数据库中进行比较,不会创建,但是会插入新值。

    1.4K40

    SpringBoot开发案例之整合Spring-data-jpa

    该参数几种配置如下: create:每次加载hibernate时都会删除一次生成,然后根据你model类再重新来生成新,哪怕两次没有任何改变也要这样执行,这就是导致数据库数据丢失一个重要原因...create-drop:每次加载hibernate时根据model类生成,但是sessionFactory一关闭,就自动删除。...update:最常用属性,第一次加载hibernate时根据model类会自动建立起结构(前提是先建立好数据库),以后加载hibernate时根据model类自动更新结构,即使结构改变了但行仍然存在不会删除以前行...要注意是当部署到服务器后,结构是不会被马上建立起来,是要等应用第一次运行起来后才会。...validate:每次加载hibernate时,验证创建数据库结构,只会和数据库中进行比较,不会创建,但是会插入新值。

    3.2K80

    Spring Boot 之 Spring Data JPA(一)1、新建工程2、配置数据库3、代码结构4、从数据到逻辑总结

    Default to "create-drop" when using an embedded database, "none" otherwise. spring.jpa.hibernate.naming.implicit-strategy...spring.jpa.generate-ddl=true spring.jpa.hibernate.ddl-auto=create-drop spring.jpa.open-in-view=true...Ionic 2 基本导航功能 总结 Ionic 2 中使用管道处理数据 1.生成一个新应用 2.创建一个管道 3.使用管道 总结 Ionic 2 中使用HTTP与远程服务器交互数据 开始之前...我们需要一个列表 3.获取远程数据 4.推送数据到服务器 总结 Ionic 2 中样式与主题 Ionic 2主题简介 创建Ionic 2应用主题方式 没有苹果电脑打包iOS平台...模版中使用 总结 Ionic 2 中创建一个闪视卡片组件 1. 创建一个新应用作为例子 2. 什么是组件? 3. 创建组件模版 4. 创建组件类 5. 创建 CSS 动画 6.

    4.5K50

    H2数据库教程_h2数据库编辑数据库

    如果您不希望网络中其他计算机访问计算机上应用程序,则可以让防火墙阻止这些连接。来自本地计算机连接仍然有效。仅当您希望其他计算机访问此计算机上数据库时,才需要在防火墙中允许远程连接。...由于数据库对象驻留在服务器,因此并发工作量受服务器应用程序可用内存限制。 登录 登录页面,您需要提供连接信息以连接到数据库。设置数据库JDBC驱动程序类,JDBC URL,用户名密码。...这些H2控制台中解释,因此它们适用于任何数据库。内置命令需要位于语句开头(在任何备注之前),否则它们不会正确解析。如果有疑问,请;命令之前添加。...如果在同一进程中启动了其他服务器,它们将继续运行。为避免在下次打开数据库时进行恢复,应在调用此方法之前关闭与数据库所有连接。要停止远程服务器,必须在服务器启用远程连接。...可以使用该选项保护关闭TCP服务器-tcpPassword(必须使用相同密码来启动停止TCP服务器)。 使用Hibernate 此数据库支持Hibernate 3.1及更高版本。

    5.3K30

    Spring Boot使用H2内存数据库

    Spring Boot使用H2内存数据库 之前文章中我们有提到Spring Boot中使用H2内存数据库方便开发测试。本文我们将会提供一些更加具体有用信息来方便我们使用H2数据库。...默认情况下内存数据库会在程序结束之后销毁,如果我们想永久保存内存数据库需要添加如下配置: spring.datasource.url=jdbc:h2:file:/data/demo 这里配置是数据库文件存储地址...添加初始数据 我们可以resources文件中添加data.sql 文件,用来程序启动时,创建所需数据库: DROP TABLE IF EXISTS billionaires; CREATE...data.sql文件。...记得填入你配置文件中配置地址密码。 登录之后,我们可以看到如下管理界面: ?

    3.5K30

    数据库PostrageSQL-热备

    数据定义语言(DDL) - CREATEDROP、ALTER、COMMENT。这个限制甚至应用到临时,因为执行这些操作会要求更新系统目录。...冲突情况包括: 服务器取得了访问排他锁(包括显式LOCK命令多种DDL动作)与后备查询中访问冲突。 服务器删除一个空间与使用该空间存储临时工作文件后备查询冲突。...该问题情形一个例子是服务器一位管理员一个运行DROP TABLE,而该正在后备服务器被查询。如果DROP TABLE应用在后备服务器,很明显该后备查询不能继续。...还要注意使用dblink模块写到远程数据库以及其他使用 PL 函数位于数据库之外操作仍将可用,即使该事务是本地只读。...新 OID 不能分配,然而某些UUID生成器仍然能工作,只要它们不依赖于向数据库写新状态。 当前,只读事务期间不允许创建临时,因此某些情况中现有的脚本将不会正确运行。

    66320

    数据库PostrageSQL-热备

    数据定义语言(DDL) - CREATEDROP、ALTER、COMMENT。这个限制甚至应用到临时,因为执行这些操作会要求更新系统目录。...冲突情况包括: 服务器取得了访问排他锁(包括显式LOCK命令多种DDL动作)与后备查询中访问冲突。 服务器删除一个空间与使用该空间存储临时工作文件后备查询冲突。...该问题情形一个例子是服务器一位管理员一个运行DROP TABLE,而该正在后备服务器被查询。如果DROP TABLE应用在后备服务器,很明显该后备查询不能继续。...还要注意使用dblink模块写到远程数据库以及其他使用 PL 函数位于数据库之外操作仍将可用,即使该事务是本地只读。...新 OID 不能分配,然而某些UUID生成器仍然能工作,只要它们不依赖于向数据库写新状态。 当前,只读事务期间不允许创建临时,因此某些情况中现有的脚本将不会正确运行。

    56930

    MySQL用户管理、用户授权与权限及设置远程访问

    此处"localhost",是指该用户只能在本地登录,不能在另外一台机器远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑都可以登录。...privileges;//刷新系统权限 三、用户权限 MySQL权限如下表 权限名字 权限说明 Context CREATE 允许创建数据库 Databases, tables, or indexes...TEMPORARY TABLES 允许创建和使用临时 Tables TRIGGER 允许使用触发器相关,前提是你必须拥有这个CREATEDROP、EXECUTE或者Display权限 Tables...(过程或函数)前提是你需要在存储过程拥有ALTER或DROP权限 Stored routines CREATE ROUTINE ALTER ROUTINE允许你创建存储过程(过程或函数)前提是你需要在存储过程拥有...ALTER或DROP权限 Stored routines EXECUTE 允许你执行存储过程(过程或函数) Stored routines FILE 文件读写权限允许你文件服务器机上使用LOAD DATA

    4.3K30

    Java面试宝典4.0版

    3 、可以把以前一些服务器负担工作转嫁到客户端,利用客户端闲置能力来处理,减轻 服务器带宽负担,节约空间宽带租用成本。...Session 相当于程序服务器建 立一份客户档案,客户来访时候只需要查询客户档案就可以了。...该文 件创建服务器机上,因此您必须拥有 FILE 权限,才能使用此语法。  输出不能是一个已存在文件。防止文件数据篡改。...password ***** 你也可以使用以下命令将导出数据直接导入到远程服务器,但请确保两台服务器是 相通,是可以相互访问: $ mysqldump -u root -p...如果没有指定,则文件服务器按路 径读取文件。 你能明确地 LOAD DATA 语句中指出列值分隔符行尾标记,但是默认标记是定位符换行符。

    1.1K40

    Java面试之EJB & Spring

    但通常情况下,由于Java Bean 是容器所创建(如Tomcat,所以Java Bean 应具有一个无参构造器,另外,通常Java Bean 还要实现Serializable 接口用于实现Bean...对于客户机,SessionBean 是一种非持久性对象,它实现某些服务器运行业务逻辑。...Session Bean 存在Cache管理,通常包含创建实例,设置上下文、创建EJB Object(create)、业务方法调用、remove 等过程,对于存在缓冲池管理Bean,create...【中等难度】 答:远程接口Home 接口不需要直接实现,他们实现代码是由服务器产生,程序运行中对应实现类会作为对应接口类型实例使用。...例如,远程有一台计算机上运行一个程序,它提供股票分析服务,我们可以本地计算机上实现对其直接调用。当然这是要通过一定规范才能在异构系统之间进行通信。RMI 是JAVA 特有的。

    48730

    经典笔试篇-EJB及Spring篇

    但通常情况下,由于Java Bean 是容器所创建(如Tomcat,所以Java Bean 应具有一个无参构造器,另外,通常Java Bean 还要实现Serializable 接口用于实现Bean...对于客户机,SessionBean 是一种非持久性对象,它实现某些服务器运行业务逻辑。...Session Bean 存在Cache管理,通常包含创建实例,设置上下文、创建EJB Object(create)、业务方法调用、remove 等过程,对于存在缓冲池管理Bean,create...【中等难度】 答:远程接口Home 接口不需要直接实现,他们实现代码是由服务器产生,程序运行中对应实现类会作为对应接口类型实例使用。...例如,远程有一台计算机上运行一个程序,它提供股票分析服务,我们可以本地计算机上实现对其直接调用。当然这是要通过一定规范才能在异构系统之间进行通信。RMI 是JAVA 特有的。

    1.4K20

    SpringCloud(十) - Docker

    ,可以是官方远程仓库中,也可以本地仓库。...ADD (add) 语法: ADD 相对构建源目录相对路径,也可以是一个远程文件url; 是container中绝对路径 含义:它基本作用是从宿主机系统文件系统复制文件到目标容器文件系统...tomcat02 创建启动容器# docker run -itd -p8080:8080 --name tomcat03 tomcat:8.5.73-jdk8-kh96 通过服务器映射端口,访问...; 5.3 将mysql03容器配置文件 数据文件 挂载到宿主机 备份 (正确思路) # 创建两个文件夹,存放容器配置文件和数据文件 mkdir /usr/local/kh96/docker/mount-mysql03...5.4.4 数据卷删除 挂载宿主上数据卷不会自动删除,容器删除后,数据卷任然存在;需要手动删除; 5.4.4.1 查询所有没有使用数据卷 # 删除容器 mysql02 # 两次操作,存在个 mysql02

    85920
    领券