草庐IT

java - Hibernate 生成的 DDL 中的无效语法错误 "type= MyISAM"

我的Java代码出现此错误Causedby:`com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException`:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMariaDB`serverversionfortherightsyntaxtousenear'type=`MyISAM`'atline1这是hibernate传递的查询:Hibernate:createtableEMPLOYEE(emp_idintegernotnull,FNAMEvarchar

java - JPA - 如何在 DDL 中将字符串列设置为 varchar(max)

与JPA,属性的DDL生成:@ColumnfinalStringsomeString;将是someStringvarchar(255)null@Column(length=1337)finalStringsomeString;将产生someStringvarchar(1337)null。但是我怎样才能让它产生someStringvarchar(max)null?是否可以使用length-属性,还是我需要使用columnDefinition-属性? 最佳答案 几个月过去了,获得了新知识,所以我将回答我自己的问题:@Lob@Column

java - 如何关闭 hbm2ddl?

我找不到有关如何关闭hbm2ddl的引用资料。 最佳答案 只是省略hibernate.hbm2ddl.auto默认Hibernate不做任何事情。来自引用文档:1.1.4.HibernateconfigurationThehbm2ddl.autooptionturnsonautomaticgenerationofdatabaseschemasdirectlyintothedatabase.Thiscanalsobeturnedoffbyremovingtheconfigurationoption,orredirectedtoafil

java - Spring 启动和 hibernate : print/log DDL

在添加一个或多个具有数据库映射(JPA/hibernate)的类之后,我希望Hibernate打印出必要的架构更新,以便我可以在数据库上执行它们(例如通过FlyWay)。我不希望自动执行更新。似乎可以对此进行一些控制的唯一属性如下org.hibernate.tool.hbm2ddl=validate|update|create|create-drop|none我不想自动更新/更改任何内容。我想将其设置为验证或无。当我这样做时,我看不到生成的架构。我是经典的spring应用,以前使用hibernate的SchemaExport类来打印DDL。SchemaExportschemaExpor

java - Spring/Hibernate 测试 : Inserting test data after DDL creation

我有一个Spring/Hibernatewebapp,它有一些在内存HSQL数据库上运行的集成测试。由于hbm2ddl=create,Hibernate使用这个空白数据库并创建我所有的测试表和约束。但是,我有一个新bean,它在afterPropertiesSet()方法期间检查数据库中的特定配置值,因此当初始化这个bean时,数据库中需要存在这样的行。有没有什么好的方法来设置一个Java/Spring/Hibernate等价于Rail的测试装置?我正在尝试找到一种方法来告诉Hibernate“无论何时创建此表,然后立即插入这些行”。我找不到可以添加的回调或Hook,但也许还有其他方法

java - 如何扫描包中的 Hibernate 实体而不是使用 hbm.xml?

我目前使用Spring3.1和Hibernate4通过扫描包中的DAO和服务有没有办法对标记为@Entity的类(class)做同样的事情?而不是使用configLocation属性(property)和hbm.xml文件? 最佳答案 将扫描模型包中的所有内容。我使用我的cfg.xml来包含show_sql和hb2ddl.auto等设置。 关于java-如何扫描包中的Hibernate实体而不是使用hbm.xml?,我们在StackOverflow上找到一个类似的问题:

spring - spring.jpa.hibernate.ddl-auto 属性在 Spring 中是如何工作的?

我正在开发我的SpringBoot应用程序项目,并注意到,有时我的另一台服务器(SQLServer)上的数据库会出现连接超时错误。当我尝试使用FlyWay进行一些脚本迁移时,尤其会发生这种情况,但经过多次尝试后它仍然有效。然后我注意到我没有在属性文件中指定spring.jpa.hibernate.ddl-auto。我做了一些研究,发现建议添加spring.jpa.hibernate.ddl-auto=create-drop正在开发中。并将其更改为:spring.jpa.hibernate.ddl-auto=none在生产中。但我实际上并不了解它是如何工作的,以及hibernate如何使

mysql - MySQL如何为数据库中的所有表生成DDL

如何一次为MySQL数据库中的所有表生成DDL。我知道以下查询将输出表的DDL。但我想要一次对所有表进行DDL,因为我的数据库中有数百个表。showcreatetable.;例如:showcreatetableprojectdb.customer_details;上述查询将产生customer_details表的DDL。我在Windows操作系统上使用MySQL和MySQL工作台。 最佳答案 您可以使用mysqldump命令行实用程序来完成:mysqldump-d-u-p-h-d选项的意思是“没有数据”。

java - hibernate :hbm2ddl.auto=生产中的更新?

是否可以在生产环境中运行配置了hbm2ddl.auto=update的Hibernate应用程序来更新数据库架构? 最佳答案 不,这不安全。尽管Hibernate团队尽了最大的努力,但您根本无法依赖生产环境中的自动更新。编写您自己的补丁,与DBA一起审查,测试它们,然后手动应用它们。理论上,如果hbm2ddlupdate在开发中工作,它也应该在生产中工作。但实际上,情况并非总是如此。即使它运行良好,也可能不是最理想的。DBA的薪水这么高是有原因的。 关于java-hibernate:hb

hive ddl语法使用详解

一、前言DDL,也叫数据定义语言(DataDefinitionLanguage,DDL),是SQL语言集中对数据库内部的对象结构进行创建,删除,修改等的操作语言,这些数据库对象包括database、table等,使用过mysql的同学应该对此很了解了;hive中ddl核心操作核心语法由CREATE、ALTER与DROP三个所组成;DDL不涉及表内部数据的操作;二、Hive中DDL语法特点HiveSQL(HQL)与标准SQL的语法大同小异,基本相通,使用过标准sql的同学上手hivesql时基本无压力,但hive的复杂查询语法相对标准sql来说,细节上又略有不同,后续在实操中可以发现;HQL中c