<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Re: Hibernate Tools question
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/alexpote">Alex Popa-Tesileanu</a> in <i>JBoss Tools</i> - <a href="https://community.jboss.org/message/761036#761036">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Hi,</p><p>I tried to get the connection from RuntimeInfo without success.</p><p>I created two functions: initConn and initConn1.</p><p>In first one I get the connection from RuntimeInfo. The result is:</p><p>&#160;&#160;&#160;&#160; </p><blockquote class="jive-quote"><p>java.lang.NullPointerException</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at ro.alex.CustReveng.initConn(CustReveng.java:49)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at ro.alex.CustReveng.&lt;init&gt;(CustReveng.java:30)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at java.lang.reflect.Constructor.newInstance(Unknown Source)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at org.jboss.tools.hibernate4_0.console.ConsoleExtension4_0.loadreverseEngineeringStrategy(ConsoleExtension4_0.java:297)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at org.jboss.tools.hibernate4_0.console.ConsoleExtension4_0.access$1(ConsoleExtension4_0.java:293)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at org.jboss.tools.hibernate4_0.console.ConsoleExtension4_0$3.execute(ConsoleExtension4_0.java:256)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at org.jboss.tools.hibernate4_0.HibernateExtension4_0.execute(HibernateExtension4_0.java:211)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at org.jboss.tools.hibernate4_0.console.ConsoleExtension4_0.buildConfiguration(ConsoleExtension4_0.java:237)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at org.jboss.tools.hibernate4_0.console.ConsoleExtension4_0.runExporters(ConsoleExtension4_0.java:167)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at org.jboss.tools.hibernate4_0.console.ConsoleExtension4_0.launchExporters(ConsoleExtension4_0.java:126)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at org.hibernate.eclipse.launch.CodeGenerationLaunchDelegate.launch(CodeGenerationLaunchDelegate.java:270)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:855)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:704)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1047)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1251)</p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p></blockquote><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>In the initConn1 I created a new con nection and it work.</p><p>Bellow is the code:</p><p>&#160;&#160;&#160;&#160; </p><blockquote class="jive-quote"><p><span style="font-family: 'courier new', courier; font-size: 10pt;">package ro.alex;</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">import java.sql.Connection;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">import java.sql.DriverManager;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">import java.sql.ResultSet;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">import java.sql.SQLException;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">import java.sql.Statement;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">import java.util.Date;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">import java.util.HashMap;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">import java.util.Map;</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">import org.hibernate.cfg.reveng.DelegatingReverseEngineeringStrategy; </span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">import org.hibernate.cfg.reveng.ReverseEngineeringRuntimeInfo;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">import org.hibernate.cfg.reveng.ReverseEngineeringStrategy; </span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">import org.hibernate.cfg.reveng.TableIdentifier; </span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">import org.hibernate.mapping.MetaAttribute;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">import org.apache.log4j.Logger;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">import org.apache.log4j.BasicConfigurator;</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">public class CustReveng extends DelegatingReverseEngineeringStrategy { </span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">private ReverseEngineeringRuntimeInfo RuntimeInfo;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">private Connection conn;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">static Logger logger = Logger.getLogger(CustReveng.class);</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">public CustReveng(ReverseEngineeringStrategy strategy) {&#160;&#160;&#160;&#160; </span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160; super (strategy);&#160;&#160;&#160;&#160; </span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160; BasicConfigurator.configure();</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160; configure(getRuntimeInfo());</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160; initConn();</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160; //initConn1();</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">}</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">public Connection getConn() {</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;return conn;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">}</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">public void setConn(Connection conn) {</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;this.conn = conn;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">}</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">public void setRuntimeInfo(ReverseEngineeringRuntimeInfo runtimeInfo) {</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;RuntimeInfo = runtimeInfo;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">}</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">public ReverseEngineeringRuntimeInfo getRuntimeInfo() {</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;return RuntimeInfo;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">}</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">public void initConn(){</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;try {</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;setConn(getRuntimeInfo().getConnectionProvider().getConnection());</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;} catch (SQLException e) {</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// TODO Auto-generated catch block</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;e.printStackTrace();</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;} </span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">}</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">public void initConn1(){</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;//Create a new database connection</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; String dbUrl = "jdbc:mysql://localhost:3307/conta";</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; try {</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; setConn(DriverManager.getConnection (dbUrl,"user","password"));</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; }</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; catch(SQLException e) {</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; e.printStackTrace();</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; logger.info("test"+e.getMessage());</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; } </span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">}</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160; public Map&lt;String, MetaAttribute&gt; columnToMetaAttributes(TableIdentifier identifier, String column) {</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160; Map&lt;String, MetaAttribute&gt; result = new HashMap&lt;String, MetaAttribute&gt;();</span></p><p>&#160; </p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160; MetaAttribute ma = new MetaAttribute("default-value");</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160; String table;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160; table=identifier.getName();</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160; String defaultValue = getTableColumnDefault(table, column);</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160; if(defaultValue!=null &amp;&amp; !defaultValue.isEmpty()){</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160; ma.addValue(defaultValue);</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160; result.put("default-value", ma);</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160; }</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160; return result;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">}</span></p><p>&#160; </p><p><span style="font-family: 'courier new', courier; font-size: 10pt;"> public String getTableColumnDefault(String table, String column){</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; String xdefault = "";</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; String xType = "";</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; String query = "SHOW COLUMNS FROM "+table+" LIKE '"+column+"'";</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; try {</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Connection con = getConn();</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Statement stmt = con.createStatement();</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ResultSet rs = stmt.executeQuery(query);</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; while (rs.next()) {</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xdefault = rs.getString(5);</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xType = rs.getString(2);</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //logger.info("Default value for "+column+" "+xdefault);</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } //end while</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; } //end try</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; catch(SQLException e) {</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; e.printStackTrace();</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; logger.info("SQL Error: "+e.getMessage());</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; }</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; //Code to calculate default value </span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; //logger.info("Type value for "+column+" "+(xType.substring(0,Math.min(xType.length(), 7))));</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; if(xType.substring(0,Math.min(xType.length(), 4)).equals("char")){</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(xType.trim().equals("char(1)")){</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xdefault="\'"+xdefault+"\'";</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }else{</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xdefault="\""+xdefault+"\"";</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; }else if(xType.substring(0,Math.min(xType.length(), 7)).equals("varchar")){</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(xType.trim().equals("varchar(1)")){</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xdefault="\'"+xdefault+"\'";</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }else{</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xdefault="\""+xdefault+"\"";</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; }else if(xType.trim()=="text"){</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xdefault="\""+xdefault+"\"";</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; }else if(xdefault!=null &amp;&amp; !xdefault.isEmpty() &amp;&amp; (xType.trim().equals("date") || xType.trim().equals("datetime")) ){</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xdefault="new Date(0)";</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; }else if(xdefault!=null &amp;&amp; !xdefault.isEmpty() &amp;&amp; (xType=="decimal" || xType.trim()=="int" || xType.trim()=="smallint" || xType.trim()=="tinyint" )){</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xdefault="0";</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; }else{</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xdefault="\"ccc\"";</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; }</span></p><p>&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; </p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </p><p><span style="font-family: 'courier new', courier; font-size: 10pt;"> return xdefault;</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;"> }&#160;&#160; </span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">public void finalize(){</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;try {</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;getConn().close();</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;} catch (SQLException e) {</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// TODO Auto-generated catch block</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;e.printStackTrace();</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;}</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;try {</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;super.finalize();</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;} catch (Throwable e) {</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// TODO Auto-generated catch block</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;e.printStackTrace();</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;}</span></p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">}</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-family: 'courier new', courier; font-size: 10pt;">}</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p></blockquote><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I can't figure out where is the problem.</p><p><span style="font-family: 'Lucida Grande', Arial, Helvetica, sans-serif; background-color: #ffffff;">getTableColumnDefault</span> function is not yet finished. Can be helpful if&#160; I can get JDBC type and Hibernate type.</p><p>It is possible ? </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Thank You,</p><p>Alex</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/761036#761036">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Tools at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2128">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>