|
|
|
Помогите с Hibernate
|
|||
|---|---|---|---|
|
#18+
Стал изучать Hibernate, пишу простейшую программу на добавление и выборку записей: Главный класс: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Класс Horse: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. hibernate.cfg: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. hibernate.reveng: Код: xml 1. 2. 3. 4. 5. 6. Horse.hbm: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. класс HorseDAOImpl: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Записи добавляет нормально, а при попытке вывести все записи на экран выдает ошибку: ошибкаException in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to modelo.Horse at example.Example.main(Example.java:19) --- ругается на эту строку Код: java 1. в таблице два поля - horse_id и breed ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2013, 14:12:13 |
|
||
|
Помогите с Hibernate
|
|||
|---|---|---|---|
|
#18+
Нужно использовать HQL запросы, а не SQL. При запуске SQL хибер не знает что там вернет ваш произольный запрос, поэтому не может так просто собрать из результатов запроса объекты. Вместо createSQLQuery используйте createQuery ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2013, 14:21:07 |
|
||
|
Помогите с Hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, сделал так: Код: java 1. теперь выбрасывает исключение: Exception in thread "main" org.hibernate.hql.ast.QuerySyntaxException: horse is not mapped [from horse] at org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:158) at org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:87) at org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:70) at org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:255) at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3056) at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2945) at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:688) at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:544) at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281) at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229) at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228) at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160) at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111) at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77) at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56) at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72) at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133) at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112) at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623) at example.HorseDAOImpl.getAllHorses(HorseDAOImpl.java:22) at example.Example.main(Example.java:18) Java Result: 1 хотя в <hibernate-mapping> таблица указана ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2013, 14:35:28 |
|
||
|
Помогите с Hibernate
|
|||
|---|---|---|---|
|
#18+
Потому что в HQL используется имя сущности, а не таблицы. Так как entity-name у вас в маппинге не указан, то имя сущности, вероятно modelo.Horse. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2013, 14:38:18 |
|
||
|
Помогите с Hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, сделал так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. всё равно та же ошибка(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2013, 15:37:18 |
|
||
|
Помогите с Hibernate
|
|||
|---|---|---|---|
|
#18+
Horse.hbm удалили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2013, 15:42:12 |
|
||
|
Помогите с Hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, всё, разобрался! работает и без аннотаций в классе Horse, но оказывается нужно было писать Код: java 1. а не: Код: java 1. теперь всё работает) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2013, 15:53:28 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=205&tid=2128416]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 338ms |

| 0 / 0 |
