Hibernate 自动更新表出错 More than one table found in namespace

报错:Caused by: org.hibernate.tool.schema.extract.spi.SchemaExtractionException: More than one table found in namespace (, ) : data_source

可能原因:在其他catalog schmea 下存在同名表或表名符合格式data_source(如data1source)。

若是在其他catalog schmea 下存在同名表,可配置默认catalog 和schema。

hibernate 中配置参数default_catalog、default_schema,根据数据库是否支持catalog、schema 进行配置。

spring data jpa 中配置方式是在配置文件(application.properties)中配置参数schema,如

spring.jpa.properties.hibernate.default_catalog=yourCatalog

spring.jpa.properties.hibernate.default_schema=yourSchema

若表名符合格式data_source,那就需要自己建表然后取消自动更新ddl。即可能需要寻求其他方式解决。

时间: 2024-10-11 23:56:30

Hibernate 自动更新表出错 More than one table found in namespace的相关文章

Hibernate 自动更新表出错 建表或添加列,提示标识符无效

如Oracle 数据库下报错: create table db_meta_web.user (id varchar2(255 char) not null, account varchar2(255 char), department varchar2(255 char), email varchar2(255 char), mobile varchar2(255 char), name varchar2(255 char), password varchar2(255 char), prima

借助hibernate自动建表

? Hibernate的ORM关系映射底层框架,为我们的开发提供了很多便利,可以说是一个非常棒的J2EE框架,我这里也不 切入主题,逆向思维,借助hibernate实现快速开发.前提,打算在项目里使用hibernate框架开发底层.仅此而已. 一般情况下,开始一个项目,首先是系统的分析需求,然后就是设计数据库,然后找个数据库客户端开始建表,建字段这是个 漫长的过程,然后开工.如果使用hibernate框架(我当然非常推荐使用),jdbc有点麻烦,很多重复的体力活,也不易维护 拓展.当然我也不否定

hibernate自动创建表

配置自动创建表: <prop key="hibernate.hbm2ddl.auto">update</prop>//首次创建项目时用,项目稳定后一般注释 这里有是个值: update:表示自动根据model对象来更新表结构,启动hibernate时会自动检查数据库,如果缺少表,则自动建表:如果表里缺少列,则自动添加列. 还有其他的参数: create:启动hibernate时,自动删除原来的表,新建所有的表,所以每次启动后的以前数据都会丢失. create-d

hibernate自动创建表失败

今天在使用hibernate自动创建数据库表的时候,有一个表始终无法创建,但是其他的表都创建成功了.开始以为是spring没有扫描到该实体类,检查了配置文件后发现没有问题.后来用log4j把info信息打印出来发现创建该表的时候报错了.原来是字段里面有mysql的关键字(order)导致了创建失败. mysql关键字: ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE BEFORE BETWEEN BIGINT BINARY BLOB BOTH BY CAL

hibernate自动创建表报表不存在

在hibernate.cfg.xml配置了<property name="hibernate.hbm2ddl.auto">update</property>自动创建表,但是项目启动会报 table doesn't exists 可能原因是主键策略设置的是native 而类里的id类型是String 这个uid要换成Integer 原文地址:https://www.cnblogs.com/suni/p/8707538.html

Hibernate 自动生产表

hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. 今天就来演示一下Hibernate最初级的操作,使用SchemaExport创建数据表. 1.首先建立POJO类 package com.bjpowernode.hibernate; import java.util.Date; /** * 用户 * @author Longxuan * */ public class User { pri

hibernate自动建表技术_采用数据库反向生成技术

1.首先使用oracle创建一个用户: 登陆sqlplus,并以sysdba登陆到数据库: 2.创建一个用户,并对此用户授予connect,resource两个角色的权限: 3.连接到hibernate_001这个用户,并在这个用户下创建表和序列号 创建一个sequence序列 创建一个表: 到此,数据库的工作已经完成: 2.打开myeclipse,创建一个hibernate_test的java web工程 3.加入hibernate支持 右键单击项目----myeclipse---Projec

Hibernate自动建表失败原因总结

1.数据库方言配置,根据不同数据库版本,以及使用的数据库,选择合适的方言 <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 2.配置文件中使用了create-drop属性,数据库表其实已经创建,只是又被删除了: <property name="hbm2ddl.auto">create-drop</property&

自动创建表出错 type=InnDB

因为type=InnoDB在5.0以前是可以使用的,但5.1之后就不行了 只需要修改配置: hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect 修改为: hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect 总结一下,在MySQL5.1及以上版本,使用 MySQL5InnoDBDialect