0

Infobright Data Base Community version does not implement the SQL Insert statement. It uses other statements for data loading instead. See link below:

https://support.infobright.com/forums/showthread.php?7939-insert-in-table

Therefore hibernate does not work on saving data to infobright data base since hibernate uses the insert statament.

Hibernate: insert into Desenvolvedor (Cidade, Estado, Nome) values (?, ?, ?)
org.hibernate.exception.GenericJDBCException: could not execute statement
at org.hibernate.exception.internal.StandardSQLExcept ionConverter.convert(StandardSQLExceptionConverter .java:54)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.c onvert(SqlExceptionHelper.java:126)
...
Caused by: java.sql.SQLException: Table storage engine for 'desenvolvedor' doesn't have this option
at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:1086)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:4237)
...

Below is the hibernate.cfg.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
  <!-- Database connection properties - Driver, URL, user, password -->
  <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
  <property name="hibernate.connection.password">test</property>
  <property name="hibernate.connection.url">jdbc:mysql://10.61.15.117:5029/test</property>
  <property name="hibernate.connection.username">TestUser</property>
  <!-- Outputs the SQL queries, should be disabled in Production -->
  <property name="hibernate.show_sql">true</property>
  <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
  <property name="hibernate.connection.pool_size">1</property>
  <mapping class="base.Desenvolvedor"/>
</session-factory>
</hibernate-configuration>

Has someone already faced this problem? Is it really necessary to use Hibernate createSQLQuery() method or to use JDBC directly to implement this data insert for Community Infobright data base?

Thanks,

Canicali

Guigon
  • 1
  • 1

1 Answers1

0

The adopted solution was changing the table engine from BRIGHTOUSE to MYISAM. This last one accepts insert commands generated by hibernate. On SQL Create Table statement it is possible to set the table's engine without changing the data base engine default.

create table test.Desenvolvedor (
    nome varchar(11),
    cidade varchar (255),
    estado varchar (255)
) engine = MYISAM
Guigon
  • 1
  • 1