Ошибка синтаксиса SQL? - PullRequest
0 голосов
/ 10 мая 2011

Я использую hibernate в моей java-программе, и у меня возникли некоторые проблемы с ее использованием .. Вот мой xml:

<hibernate-mapping>
<class name="revEngMapping.TestNetwork" table="testNetwork">
    <id name="id" type="java.lang.Integer">
        <column name="id" />
        <generator class="identity" />
    </id>
    <property name="networkElementId" type="string">
        <column name="networkElement_id" length="45" />
    </property>
    <property name="date" type="string">
        <column name="Date" length="45" />
    </property>
    <property name="oid" type="string">
        <column name="Oid" length="150" />
    </property>
    <property name="value" type="string">
        <column name="Value" length="200" />
    </property>
</class>

Вот мой класс java:

public class TestNetwork implements java.io.Serializable {

private Integer id;
private String networkElementId;
private String date;
private String oid;
private String value;

public TestNetwork() {
}

public TestNetwork(String networkElementId, String date, String oid,
        String value) {
    this.networkElementId = networkElementId;
    this.date = date;
    this.oid = oid;
    this.value = value;
}

Тогда это просто геттеры и сеттеры, и в моем основном я просто хочу отобразить его:

Session session = HibernateUtil.getSessionFactory().getCurrentSession();
    session.beginTransaction();


    Criteria crit = session.createCriteria(TestNetwork.class);

    List resultList=crit.list();

    for(int i=0;i<resultList.size();i++)
      System.out.println(((TestNetwork)resultList.get(i)).getId()+"  "+((TestNetwork)resultList.get(i)).getDate());


    session.getTransaction().commit();

В моей консоли написано, что у меня ошибка SQL ..

10: 20: 54 626 WARN JDBCExceptionReporter: 233 - Ошибка SQL: 1064, SQLState: 42000 10: 20: 54 628 ОШИБКА JDBCExceptionReporter: 234 - В синтаксисе SQL имеется ошибка;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '.testNetwork this_' в строке 1 Исключение в потоке "main" org.hibernate.exception.SQLGrammarException: не удалось выполнить запрос в org.hibernate.exception.SQLStateConverter.convert (SQLStateConverter.java:92) в org.hibernate.exception.JDBCExceptionHelper.convert (JDBCExceptionHelper.java:66) в org.hibernate.loader.Loader.doList (Loader.java:2536)

1016

Надеюсь, что s.one может помочь.спасибо

1 Ответ

0 голосов
/ 11 мая 2011

mysql требует от вас использования обратных галочек `` при доступе к именам таблиц и столбцам, пожалуйста, пометьте галочки при определении

например ..

<property name="someProperty" column="`dbColumnName`"/>

это должно решить вашу проблему ..

  • Ананта Шарма
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...