public static void export(Ejb3Configuration jpaConfiguration, boolean drop, boolean create, String outFile, String delimiter, Formatter formatter) { SchemaGenerator schemaGenerator = new SchemaGenerator(jpaConfiguration); if (create) { String[] createSQL = schemaGenerator.generateSchemaCreationScript(); StringArrayFileExporter.export(outFile, delimiter, formatter, createSQL); } if (drop) { String[] dropSQL = schemaGenerator.generateDropSchemaScript(); StringArrayFileExporter.export(outFile, delimiter, formatter, dropSQL); } }
/** * Log a SQL statement string using the specified formatter * * @param statement The SQL statement. * @param formatter The formatter to use. */ public void logStatement(String statement, Formatter formatter) { if ( format ) { if ( logToStdout || LOG.isDebugEnabled() ) { statement = formatter.format( statement ); } } LOG.debug( statement ); if ( logToStdout ) { System.out.println( "Hibernate: " + statement ); } }
@Override protected void writeQueriesEntry(StringBuilder sb, ExecutionInfo execInfo, List<QueryInfo> queryInfoList) { sb.append(System.getProperty("line.separator", "\n")); sb.append("Query:["); for (QueryInfo queryInfo : queryInfoList) { String query = queryInfo.getQuery(); for (Formatter formatter : formatters) { // .replace("\uFEFF", "") query = formatter.format(query).replace("?", "%s"); } List<String> params = new ArrayList<>(); for (Map<String, Object> paramMap : queryInfo.getQueryArgsList()) { SortedMap<String, Object> sortedParamMap = new TreeMap<>(new StringAsIntegerComparator()); sortedParamMap.putAll(paramMap); params.addAll(Lists.transform(new ArrayList<>(sortedParamMap.values()), from -> { if (from instanceof String) { String value = (String) from; return value.contains("NULL") ? null : String.format(format, value); } else if (from instanceof Date) { return String.format(format, dateFormat.format(from)); } else if (from instanceof Boolean) { return (Boolean) from ? "1" : "0"; } else { return String.valueOf(from); } })); } sb.append(String.format(query, params.toArray())); sb.append(","); } chompIfEndWith(sb, ','); sb.append(System.getProperty("line.separator", "\n")); sb.append("]"); }
public static void main(String[] args) { boolean drop = false; boolean create = false; String outFile = null; String delimiter = ""; String persistenceUnitName = null; for (int i = 0; i < args.length; i++) { if (args[i].startsWith("--")) { if (args[i].equals("--drop")) { drop = true; } else if (args[i].equals("--create")) { create = true; } else if (args[i].startsWith("--output=")) { outFile = args[i].substring(9); } else if (args[i].startsWith("--delimiter=")) { delimiter = args[i].substring(12); } else if (args[i].startsWith("--persistenceUnitName=")){ persistenceUnitName = args[i].substring(22); } } } Formatter formatter = FormatStyle.DDL.getFormatter(); Ejb3Configuration jpaConfiguration = new Ejb3Configuration().configure( persistenceUnitName, null); SchemaExporter.export(jpaConfiguration, drop, create, outFile, delimiter, formatter); }
public static void export(String outFile, String delimiter, Formatter formatter, String[] stringArray) { PrintWriter writer = null; try { writer = new PrintWriter(outFile); for (String string : stringArray) { writer.print(formatter.format(string) + "\n" + delimiter + "\n"); } } catch (FileNotFoundException e) { System.err.println(e); } finally { if (writer != null) writer.close(); } }
public static void main(String[] args) { boolean drop = false; boolean create = false; String outFile = null; String delimiter = ""; String activeSpringProfile = null; String dataAccessApplicationContextConfigClassPath = null; for (int i = 0; i < args.length; i++) { if (args[i].startsWith("--")) { if (args[i].equals("--drop")) { drop = true; } else if (args[i].equals("--create")) { create = true; } else if (args[i].startsWith("--output=")) { outFile = args[i].substring(9); } else if (args[i].startsWith("--delimiter=")) { delimiter = args[i].substring(12); } else if (args[i].startsWith("--activeSpringProfile=")) { activeSpringProfile = args[i].substring(22); } else if (args[i].startsWith("--dataAccessApplicationContextConfigClassPath=")) { dataAccessApplicationContextConfigClassPath = args[i].substring(46); } } } Formatter formatter = FormatStyle.DDL.getFormatter(); GenericXmlApplicationContext context = new GenericXmlApplicationContext(); if (activeSpringProfile != null) { context.getEnvironment().setActiveProfiles(activeSpringProfile); } context.load(dataAccessApplicationContextConfigClassPath); context.refresh(); AbstractEntityManagerFactoryBean bean = context .getBean(AbstractEntityManagerFactoryBean.class); Ejb3Configuration jpaConfiguration = new Ejb3Configuration().configure( bean.getPersistenceUnitInfo(), bean.getJpaPropertyMap()); SchemaExporter.export(jpaConfiguration, drop, create, outFile, delimiter, formatter); context.close(); }