<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="safety" transaction-type="JTA">
<jta-data-source>java:/jdbc/MyDataSource</jta-data-source>
<properties>
<property name="javax.persistence.schema-generation.scripts.action" value="create"/>
<property name="javax.persistence.schema-generation.scripts.create-target" value="create.ddl"/>
<property name="hibernate.default_schema" value="safety"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="false"/>
<property name="hibernate.use_sql_comments" value="true"/>
</properties>
</persistence-unit>
</persistence>
This is my persistence.xml. How can I generate DB schema by Persistence.generateSchema()?
public class SchemaGenerator {
public static void main(String args[]) {
Map<String, Object> properties = new HashMap<String, Object>();
//adding some properties
Persistence.generateSchema("safety", properties);
}
}
It gives me this error : org.hibernate.engine.jndi.JndiException: Error parsing JNDI name [java:/jdbc/MyDataSource].
But, it does not have to connect my database as I just need to generate ddl.