powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate, Наследование. Что делать с промежуточным классом?
9 сообщений из 9, страница 1 из 1
Hibernate, Наследование. Что делать с промежуточным классом?
    #39172903
Фотография BlackGnomeГуест
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) public abstract class A
2) public class B extends A
3) public class C extends B

Хочу две таблицы 1) A 2) B+C

Так можно?

Т.е.
@Entity
@Table(name="A")
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public abstract class A

А как тогда описать вторую таблицу? Особого смысла ведь в таблице B нету. Тогда как быть?

А смысл в создании класса B ЕСТЬ! И не будим спорить об этом :)

Hibernate ведь не может ограничиваться простенькими примерчиками в сети на тему наследования?
...
Рейтинг: 0 / 0
Hibernate, Наследование. Что делать с промежуточным классом?
    #39172914
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackGnomeГуест,

Вот же вроде разжевано с сылками на мануал и на книгу
http://stackoverflow.com/questions/3915026/how-to-mix-inheritance-strategies-with-jpa-annotations-and-hibernate
В A прописываешь одну стратегию - в B другую.
...
Рейтинг: 0 / 0
Hibernate, Наследование. Что делать с промежуточным классом?
    #39173200
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackGnomeГуест,
только не увлекайтесь. В РСУБД нет наследования. И как то живут ведь.
...
Рейтинг: 0 / 0
Hibernate, Наследование. Что делать с промежуточным классом?
    #39173263
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123BlackGnomeГуест,
только не увлекайтесь. В РСУБД нет наследования. И как то живут ведь.
в постгре у таблиц есть наследование ;)
...
Рейтинг: 0 / 0
Hibernate, Наследование. Что делать с промежуточным классом?
    #39173267
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
да и в Оракле вроде есть.
Просто не используют ООП в модели для РСУБД.
Такая вот, дилемма и антагонизм)).
...
Рейтинг: 0 / 0
Hibernate, Наследование. Что делать с промежуточным классом?
    #39173723
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123chpasha,
да и в Оракле вроде есть.
Просто не используют ООП в модели для РСУБД.
Такая вот, дилемма и антагонизм)).

Ну в PostgreSQL сейчас вообще можно JSON использовать даже запросы строить и индексы накручивать. :-)
Все для удобства "быстрокодеров" ;-)
...
Рейтинг: 0 / 0
Hibernate, Наследование. Что делать с промежуточным классом?
    #39173889
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
да!
Ещё я был удивлён что сиквел ввёл тип колонки variant.
Всё как в Delphi))
...
Рейтинг: 0 / 0
Hibernate, Наследование. Что делать с промежуточным классом?
    #39173923
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123mad_nazgul,
да!
Ещё я был удивлён что сиквел ввёл тип колонки variant.
Всё как в Delphi))

Какой Delphi, BASIC же!
:-)
...
Рейтинг: 0 / 0
Hibernate, Наследование. Что делать с промежуточным классом?
    #39174135
Фотография BlackGnomeГуест
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написал кучу классов...

запустил standalone тест простенький:

авторCaused by: java.lang.ClassCastException: org.hibernate.mapping.JoinedSubclass cannot be cast to org.hibernate.mapping.RootClass
at org.hibernate.cfg.annotations.PropertyBinder.bind(PropertyBinder.java:213)
at org.hibernate.cfg.annotations.PropertyBinder.makePropertyValueAndBind(PropertyBinder.java:204)
at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:2214)
at org.hibernate.cfg.AnnotationBinder.processIdPropertiesIfNotAlready(AnnotationBinder.java:906)
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:733)
at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:245)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies(MetadataBuildingProcess.java:222)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:265)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:848)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:876)
at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:58)
... 4 more

Как найти, каким классом оно не довольно?
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate, Наследование. Что делать с промежуточным классом?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]