Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

Spring MVC 3.
Список форумов
 ->  Java Enterprise и распределённые технологии


На страницу Пред.  1, 2, 3 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
benzo : 7
Новичок

СообщениеОкт 21, 2011 15:31 
Ответить с цитатой
Добрый день.
Изучаю Spring MVC ( до hibernate еще не дошел). Запускаю выложенный пример в netbeans. Перенастроил соединение с MySql на встроенный в Netbeans Derby. Выдается вот такая ошибка:
Код:
 type Exception report

message

descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

exception
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute query; SQL [select user0_.id as id0_, user0_.name as name0_, user0_.email as email0_, user0_.birth as birth0_ from USERS user0_]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute query


root cause
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute query; SQL [select user0_.id as id0_, user0_.name as name0_, user0_.email as email0_, user0_.birth as birth0_ from USERS user0_]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute query

root cause
org.hibernate.exception.SQLGrammarException: could not execute query


root cause
java.sql.SQLSyntaxErrorException: Column 'USER0_.NAME' is either not in any table in the FROM list or appears within a join specification and is outside the scope of the join specification or appears in a HAVING clause and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE  statement then 'USER0_.NAME' is not a column in the target table.

root cause
org.apache.derby.client.am.SqlException: Column 'USER0_.NAME' is either not in any table in the FROM list or appears within a join specification and is outside the scope of the join specification or appears in a HAVING clause and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE  statement then 'USER0_.NAME' is not a column in the target table.


note The full stack traces of the exception and its root causes are available in the GlassFish v3 logs



Проверил тот же самый запрос выполнить через сам netbeans. Ругается, т.к. , по-видимому, name - зарезервированное в derby слово. Так как если тот же запрос, но вместо name написать "name", то запрос выполняется. Как это исправить в hibernate? Подскажите, пожалуйста.
К началу Посмотреть профиль Отправить личное сообщение
benzo : 7
Новичок

СообщениеОкт 25, 2011 9:09 
Ответить с цитатой
Так и не решил вопрос. Пришлось использовать MySql
К началу Посмотреть профиль Отправить личное сообщение
benzo : 7
Новичок

СообщениеОкт 26, 2011 15:39 
Ответить с цитатой
Разбираю этот пример. Хочу понять связку spring и hibernate. Вроде же для работы hibernate необходим файл hibernate.cfg.xml А тут его нет. Есть файл databaseConfig.xml
Он заменяет hibernate.cfg.xml ?
К началу Посмотреть профиль Отправить личное сообщение
wedens : 1167
Завсегдатай
Откуда: Novosibirsk

СообщениеОкт 26, 2011 16:45 
Ответить с цитатой
hibernate.cfg.xml по сути нужен только когда hibernate используется без spring. с ним же его можно конфигурировать в контексте
К началу Посмотреть профиль Отправить личное сообщение
benzo : 7
Новичок

СообщениеОкт 26, 2011 17:39 
Ответить с цитатой
wedens писал(а):
hibernate.cfg.xml по сути нужен только когда hibernate используется без spring. с ним же его можно конфигурировать в контексте


Спасибо за ответ.
К началу Посмотреть профиль Отправить личное сообщение
benzo : 7
Новичок

СообщениеОкт 31, 2011 15:53 
Ответить с цитатой
Еще вопрос. Про кодировку. Никак не могу понять, где ее нужно описать.
Нарыл в интеренете, что для связки с MySql нужно в строку соединения добавлять кодировку.
Код:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/spring3demo1?useUnicode=true&amp;characterEncoding=cp1251"/>
        <property name="username" value="root"/>
        <property name="password" value="*****"/>
    </bean>


Т.е. добавилась строка ?useUnicode=true&amp;characterEncoding=cp1251
Но у меня почему-то все равно русские буквы пишутся вопросиками, хотя настройки MySQK такие:
character_set_results = cp1251
character_set_client = cp1251
character_set_connection = cp1251
character_set_database = cp1251
character_set_filesystem = bynary
character_set_server = cp1251
character_set_system = utf8

Куда еще копать?
К началу Посмотреть профиль Отправить личное сообщение
benzo : 7
Новичок

СообщениеНоя 01, 2011 11:32 
Ответить с цитатой
проблема решилась добавлением в web.xml

Код:
<filter>
        <filter-name>charsetFilter</filter-name>
            <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
      <init-param>
                    <param-name>encoding</param-name>
                    <param-value>Cp1251</param-value>
      </init-param>
      <init-param>
                    <param-name>forceEncoding</param-name>
                    <param-value>true</param-value>
      </init-param>
    </filter>
    <filter-mapping>
   <filter-name>charsetFilter</filter-name>
   <url-pattern>/*</url-pattern>
    </filter-mapping>


А также пересоздал таблицы с явным указанием кодировки для кадого столбца
Код:
house varchar(3) CHARACTER SET cp1251 COLLATE cp1251_bin
и указанием в JSP
Код:
<%@ page contentType="text/html; charset=windows-1251" language="java" %>
К началу Посмотреть профиль Отправить личное сообщение
bayramchik : 23
Новичок

СообщениеЯнв 24, 2012 12:26 
Ответить с цитатой
а где class UserValidator?
К началу Посмотреть профиль Отправить личное сообщение
benzo : 7
Новичок

СообщениеЯнв 24, 2012 14:42 
Ответить с цитатой
bayramchik писал(а):
а где class UserValidator?


Там есть класс UserValidator. Он в пакете my.example.validator
К началу Посмотреть профиль Отправить личное сообщение
 
Начать новую тему  Ответить на тему
Страница 3 из 3
На страницу Пред.  1, 2, 3
Список форумов
 -> Java Enterprise и распределённые технологии


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru