|
|
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 12:21:38 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
Erasure можно обойти только так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 12:53:46 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
Вчера перерыл кучу док, кажется что это достаточно реальная задача, а решения пока не нашел. Суть дела: пишу DAO для Hibernate. Было бы круто написать одно DAO для всех классов, стандартная логика добавить/удалить/ ... функционал для пейджинга и т.п. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 13:54:36 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
Generic проверяется на этапе компиляции. В рантайме класс ведет себя как будьто работает с Object, ну или с базовым классом/интерфейсом. Короче тип не знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 13:55:40 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
ТимоНСуть дела: пишу DAO для Hibernate. Было бы круто написать одно DAO для всех классов, стандартная логика добавить/удалить/ ... функционал для пейджинга и т.п. Почему бы не создать поле с классом и не передавать его в конструкторе. По моему - единственный верный путь. И не такой тяжелый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 13:57:58 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
ТимоНЕдинственный вариант который я пока вижу в load передавать инстанс класса, для селекта. Это изврат. Передавай класс и не парься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 13:58:30 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz ТимоНЕдинственный вариант который я пока вижу в load передавать инстанс класса, для селекта. Это изврат. Передавай класс и не парься. Почему изврат? Код: plaintext 1. 2. 3. Все красиво получается, до метода load, как раз таки передавать класс в параметризованый класс это изврат. Так несчитаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 14:07:03 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
Самоловских Виталий aka Kefir ТимоНСуть дела: пишу DAO для Hibernate. Было бы круто написать одно DAO для всех классов, стандартная логика добавить/удалить/ ... функционал для пейджинга и т.п. Почему бы не создать поле с классом и не передавать его в конструкторе. По моему - единственный верный путь. И не такой тяжелый. В данном случае вся прелесть джинериков теряется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 14:07:55 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
ТимоНВсе красиво получается, до метода load, как раз таки передавать класс в параметризованый класс это изврат. Так несчитаете? Так я ж про load() load(new User()) vs load(User.class) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 14:33:21 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz ТимоНВсе красиво получается, до метода load, как раз таки передавать класс в параметризованый класс это изврат. Так несчитаете? Так я ж про load() load(new User()) vs load(User.class) А да я имел ввиду ваш вариант load(User.class). Затупил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 14:50:16 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 15:05:02 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
brut Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. спасибо, попробую вечером. А зачем вам currentSession.getTransaction().rollback() ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 15:24:16 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
закрыть транзакцию. Как-то читал (не помню где) что rollback работает быстее комита, тут комыт не нужен. Если ошибся буду бгагодарен за правки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 15:27:43 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
1) Hibernate имеет свойство запускать некоторые апдейты при загрузке объектов. 2) А при декларативном управлении транзакциями это rollback не усрется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 15:33:42 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
brut Код: plaintext 1. Это то что я привел первым примером. Только тогда код вроде new DAO(User) идет лесом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 15:35:06 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz brut Код: plaintext 1. Это то что я привел первым примером. Только тогда код вроде new DAO(User) идет лесом. Точно, не заметил что он абстрактный. Вопрос остается открытым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 15:38:07 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 15:43:26 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
хотя getTypeParameters() Returns an array of TypeVariable objects that represent the type variables declared by the generic declaration represented by this GenericDeclaration object, in declaration order. Returns an array of length 0 if the underlying generic declaration declares no type variables. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 15:46:14 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
mijer http://www.hibernate.org/328.html Хороший тынц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2008, 15:48:24 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
нашлось ли решение? мучаюсь с тем же только на JPA ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2008, 11:48:27 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
(: похоже придется подождать Java 7 Reified Generics Currently, generics are implemented using erasure, which means that the generic type information is not available at runtime, which makes some kind of code hard to write. Generics were implemented this way to support backwards compatibility with older non-generic code. Reified generics would make the generic type information available at runtime, which would break legacy non-generic code. However, Neal Gafter has proposed making types reifiable only if specified, so as to not break backward compatibility. http://tech.puredanger.com/java7#reified ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2008, 12:09:29 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
Cybнашлось ли решение? мучаюсь с тем же только на JPA вон же тынц на hibernate generic DAO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2008, 12:47:41 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
Cyb(: похоже придется подождать Java 7 Спецификации (JSR) на Java 7 нет и в скором времени не предвидится. Лично я на счет генериков сильно сомневаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2008, 14:42:37 |
|
||
|
Generic параметризованный класс.
|
|||
|---|---|---|---|
|
#18+
brutзакрыть транзакцию. Как-то читал (не помню где) что rollback работает быстее комита, тут комыт не нужен. Если ошибся буду бгагодарен за правки Если говорить про Оракл - то вы совершенно правы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2008, 18:04:36 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2129279]: |
0ms |
get settings: |
17ms |
get forum list: |
28ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
55ms |
get topic data: |
21ms |
get forum data: |
6ms |
get page messages: |
105ms |
get tp. blocked users: |
3ms |
| others: | 329ms |
| total: | 578ms |

| 0 / 0 |
