Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,5 @@ bin
# idea
.idea/
*.iml

**/.idea/
46 changes: 21 additions & 25 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>io.github.divinespear</groupId>
<artifactId>jpa-schema-maven-plugin</artifactId>
<version>0.2.2-SNAPSHOT</version>
<version>0.2.2-jakarta-SNAPSHOT</version>
<packaging>maven-plugin</packaging>

<parent>
Expand Down Expand Up @@ -64,15 +64,15 @@
<properties>
<github.global.server>github</github.global.server>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<!-- versions -->
<maven.version>3.3.1</maven.version>
<maven-plugin-tools.version>3.4</maven-plugin-tools.version>
<eclipselink.version>2.6.1</eclipselink.version>
<hibernate.version>5.0.7.Final</hibernate.version>
<datanucleus.version>4.2.3</datanucleus.version>
<spring-data-jpa.version>1.11.23.RELEASE</spring-data-jpa.version>
<maven-plugin-tools.version>3.9.0</maven-plugin-tools.version>
<eclipselink.version>3.0.3</eclipselink.version>
<hibernate.version>6.2.1.Final</hibernate.version>
<spring-data-jpa.version>3.1.0</spring-data-jpa.version>
<jakarta.version>3.1.0</jakarta.version>
</properties>

<dependencies>
Expand Down Expand Up @@ -110,14 +110,12 @@
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>

<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>4.0.0</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-tools-generators</artifactId>
Expand All @@ -144,18 +142,11 @@
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-accessplatform-jpa-rdbms</artifactId>
<version>${datanucleus.version}</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
Expand All @@ -175,9 +166,9 @@
</exclusions>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>1.9.5</version>
<version>5.3.1</version>
<scope>test</scope>
<exclusions>
<exclusion>
Expand Down Expand Up @@ -210,8 +201,13 @@
<version>[1.4, 1.9)</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/jakarta.persistence/jakarta.persistence-api -->
<dependency>
<groupId>jakarta.persistence</groupId>
<artifactId>jakarta.persistence-api</artifactId>
<version>${jakarta.version}</version>
</dependency>
</dependencies>

<reporting>
<plugins>
<plugin>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@

package io.github.divinespear.maven.plugin;

import jakarta.persistence.Persistence;
import jakarta.persistence.spi.PersistenceProvider;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
Expand All @@ -27,6 +29,7 @@
import java.lang.reflect.Field;
import java.net.URL;
import java.net.URLClassLoader;
import java.nio.file.Files;
import java.sql.DatabaseMetaData;
import java.sql.Driver;
import java.sql.DriverManager;
Expand All @@ -38,9 +41,6 @@
import java.util.Set;
import java.util.regex.Pattern;

import javax.persistence.Persistence;
import javax.persistence.spi.PersistenceProvider;

import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
Expand All @@ -58,7 +58,6 @@
import org.apache.maven.repository.RepositorySystem;
import org.codehaus.plexus.util.StringUtils;
import org.eclipse.persistence.config.PersistenceUnitProperties;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager;
import org.springframework.orm.jpa.persistenceunit.SmartPersistenceUnitInfo;

Expand Down Expand Up @@ -500,6 +499,11 @@ private ClassLoader getProjectClassLoader() throws MojoExecutionException {
}

private void generate() throws Exception {
if (getOutputDirectory() != null) {
Files.deleteIfExists(getCreateOutputFile().toPath());
Files.deleteIfExists(getDropOutputFile().toPath());
}

Map<String, Object> map = JpaSchemaGeneratorUtils.buildProperties(this);
if (getVendor() == null) {
// with persistence.xml
Expand Down Expand Up @@ -586,7 +590,7 @@ private void postProcess() throws IOException {
continue;
}
s = s.trim();
writer.print((this.isFormat() ? format(s) : s).replaceAll("\r\n", linesep));
writer.print((this.isFormat() ? format(s) : s).replaceAll("\r?\n", linesep));
writer.print(";");
writer.print(linesep);
writer.print(this.isFormat() ? linesep : "");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
import org.hibernate.engine.jdbc.dialect.internal.StandardDialectResolver;
import org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo;

import static org.hibernate.cfg.AvailableSettings.JAKARTA_HBM2DDL_CONNECTION;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
Expand Down Expand Up @@ -128,6 +130,11 @@ public int getDriverMinorVersion() {
return 0;
}

@Override
public String getSQLKeywords() {
return "ABORT,DECIMAL,INTERVAL,PRESERVE,ALL,DECODE,INTO,PRIMARY,ALLOCATE,DEFAULT,LEADING,RESET,ANALYSE,DESC,LEFT,REUSE,ANALYZE,DISTINCT,LIKE,RIGHT,AND,DISTRIBUTE,LIMIT,ROWS,ANY,DO,LOAD,SELECT,AS,ELSE,LOCAL,SESSION_USER,ASC,END,LOCK,SETOF,BETWEEN,EXCEPT,MINUS,SHOW,BINARY,EXCLUDE,MOVE,SOME,BIT,EXISTS,NATURAL,TABLE,BOTH,EXPLAIN,NCHAR,THEN,CASE,EXPRESS,NEW,TIES,CAST,EXTEND,NOT,TIME,CHAR,EXTERNAL,NOTNULL,TIMESTAMP,CHARACTER,EXTRACT,NULL,TO,CHECK,FALSE,NULLS,TRAILING,CLUSTER,FIRST,NUMERIC,TRANSACTION,COALESCE,FLOAT,NVL,TRIGGER,COLLATE,FOLLOWING,NVL2,TRIM,COLLATION,FOR,OFF,TRUE,COLUMN,FOREIGN,OFFSET,UNBOUNDED,CONSTRAINT,FROM,OLD,UNION,COPY,FULL,ON,UNIQUE,CROSS,FUNCTION,ONLINE,USER,CURRENT,GENSTATS,ONLY,USING,CURRENT_CATALOG,GLOBAL,OR,VACUUM,CURRENT_DATE,GROUP,ORDER,VARCHAR,CURRENT_DB,HAVING,OTHERS,VERBOSE,CURRENT_SCHEMA,IDENTIFIER_CASE,OUT,VERSION,CURRENT_SID,ILIKE,OUTER,VIEW,CURRENT_TIME,IN,OVER,WHEN,CURRENT_TIMESTAMP,INDEX,OVERLAPS,WHERE,CURRENT_USER,INITIALLY,PARTITION,WITH,CURRENT_USERID,INNER,POSITION,WRITE,CURRENT_USEROID,INOUT,PRECEDING,RESET,DEALLOCATE,INTERSECT,PRECISION,REUSE,DEC";
}

@Override
public int getDriverMajorVersion() {
return 0;
Expand All @@ -138,6 +145,11 @@ public String getDatabaseName() {
return productName;
}

@Override
public String getDatabaseVersion() {
return String.format("%d.%d", getDatabaseMajorVersion(), getDatabaseMinorVersion());
}

@Override
public int getDatabaseMinorVersion() {
return minorVersion;
Expand All @@ -148,7 +160,7 @@ public int getDatabaseMajorVersion() {
return majorVersion;
}
};
Dialect detectedDialect = StandardDialectResolver.INSTANCE.resolveDialect(info);
Dialect detectedDialect = new StandardDialectResolver().resolveDialect(info);
dialect = detectedDialect.getClass().getName();
}
if (dialect != null) {
Expand All @@ -157,7 +169,7 @@ public int getDatabaseMajorVersion() {
}

if (!isDatabaseTarget(mojo) && StringUtils.isEmpty(mojo.getJdbcUrl())) {
map.put(org.hibernate.jpa.AvailableSettings.SCHEMA_GEN_CONNECTION,
map.put(JAKARTA_HBM2DDL_CONNECTION,
new ConnectionMock(mojo.getDatabaseProductName(),
mojo.getDatabaseMajorVersion(),
mojo.getDatabaseMinorVersion()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
<version>0.0.0-TEST</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<eclipselink.version>2.6.1</eclipselink.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<eclipselink.version>3.0.3</eclipselink.version>
</properties>
<dependencies>
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
<version>0.0.0-TEST</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<eclipselink.version>2.6.1</eclipselink.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<eclipselink.version>3.0.3</eclipselink.version>
</properties>
<dependencies>
<dependency>
Expand Down
6 changes: 3 additions & 3 deletions src/test/resources/unit/eclipselink-noxml-script-test/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
<version>0.0.0-TEST</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<eclipselink.version>2.6.1</eclipselink.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<eclipselink.version>3.0.3</eclipselink.version>
</properties>
<dependencies>
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
<version>0.0.0-TEST</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<eclipselink.version>2.6.1</eclipselink.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<eclipselink.version>3.0.3</eclipselink.version>
</properties>
<dependencies>
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
<version>0.0.0-TEST</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<eclipselink.version>2.6.1</eclipselink.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<eclipselink.version>3.0.3</eclipselink.version>
</properties>
<dependencies>
<dependency>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
create sequence hibernate_sequence start with 1 increment by 1;
create sequence MANY_COLUMN_TABLE_SEQ start with 1 increment by 50;

create table KEY_VALUE_STORE (
STORED_KEY varchar(128) not null,
CREATED_AT timestamp,
CREATED_AT timestamp(6),
STORED_VALUE varchar(32768),
primary key (STORED_KEY)
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ drop table KEY_VALUE_STORE if exists;

drop table MANY_COLUMN_TABLE if exists;

drop sequence if exists hibernate_sequence;
drop sequence if exists MANY_COLUMN_TABLE_SEQ;

10 changes: 5 additions & 5 deletions src/test/resources/unit/hibernate-formatted-script-test/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@
<version>0.0.0-TEST</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<hibernate.version>5.0.7.Final</hibernate.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<hibernate.version>6.2.1.Final</hibernate.version>
</properties>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
</dependencies>
Expand Down
10 changes: 5 additions & 5 deletions src/test/resources/unit/hibernate-noxml-database-test/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@
<version>0.0.0-TEST</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<hibernate.version>5.0.7.Final</hibernate.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<hibernate.version>6.2.1.Final</hibernate.version>
</properties>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
create sequence hibernate_sequence start with 1 increment by 1;
create table KEY_VALUE_STORE (STORED_KEY varchar(128) not null, CREATED_AT timestamp, STORED_VALUE varchar(32768), primary key (STORED_KEY));
create sequence MANY_COLUMN_TABLE_SEQ start with 1 increment by 50;
create table KEY_VALUE_STORE (STORED_KEY varchar(128) not null, CREATED_AT timestamp(6), STORED_VALUE varchar(32768), primary key (STORED_KEY));
create table MANY_COLUMN_TABLE (id bigint not null, column00 varchar(255), column01 varchar(255), column02 varchar(255), column03 varchar(255), column04 varchar(255), column05 varchar(255), column06 varchar(255), column07 varchar(255), column08 varchar(255), column09 varchar(255), column10 varchar(255), column11 varchar(255), column12 varchar(255), column13 varchar(255), column14 varchar(255), column15 varchar(255), column16 varchar(255), column17 varchar(255), column18 varchar(255), column19 varchar(255), column20 varchar(255), column21 varchar(255), column22 varchar(255), column23 varchar(255), column24 varchar(255), column25 varchar(255), column26 varchar(255), column27 varchar(255), column28 varchar(255), column29 varchar(255), primary key (id));
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
drop table KEY_VALUE_STORE if exists;
drop table MANY_COLUMN_TABLE if exists;
drop sequence if exists hibernate_sequence;
drop sequence if exists MANY_COLUMN_TABLE_SEQ;
10 changes: 5 additions & 5 deletions src/test/resources/unit/hibernate-noxml-script-test/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@
<version>0.0.0-TEST</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<hibernate.version>5.0.7.Final</hibernate.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<hibernate.version>6.2.1.Final</hibernate.version>
</properties>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
</dependencies>
Expand Down
10 changes: 5 additions & 5 deletions src/test/resources/unit/hibernate-simple-database-test/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@
<version>0.0.0-TEST</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<hibernate.version>5.0.7.Final</hibernate.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<hibernate.version>6.2.1.Final</hibernate.version>
</properties>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
create sequence hibernate_sequence start with 1 increment by 1;
create table KEY_VALUE_STORE (STORED_KEY varchar(128) not null, CREATED_AT timestamp, STORED_VALUE varchar(32768), primary key (STORED_KEY));
create sequence MANY_COLUMN_TABLE_SEQ start with 1 increment by 50;
create table KEY_VALUE_STORE (STORED_KEY varchar(128) not null, CREATED_AT timestamp(6), STORED_VALUE varchar(32768), primary key (STORED_KEY));
create table MANY_COLUMN_TABLE (id bigint not null, column00 varchar(255), column01 varchar(255), column02 varchar(255), column03 varchar(255), column04 varchar(255), column05 varchar(255), column06 varchar(255), column07 varchar(255), column08 varchar(255), column09 varchar(255), column10 varchar(255), column11 varchar(255), column12 varchar(255), column13 varchar(255), column14 varchar(255), column15 varchar(255), column16 varchar(255), column17 varchar(255), column18 varchar(255), column19 varchar(255), column20 varchar(255), column21 varchar(255), column22 varchar(255), column23 varchar(255), column24 varchar(255), column25 varchar(255), column26 varchar(255), column27 varchar(255), column28 varchar(255), column29 varchar(255), primary key (id));
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
drop table KEY_VALUE_STORE if exists;
drop table MANY_COLUMN_TABLE if exists;
drop sequence if exists hibernate_sequence;
drop sequence if exists MANY_COLUMN_TABLE_SEQ;
Loading