powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring JPA 2.1 ManyToOne
11 сообщений из 11, страница 1 из 1
Spring JPA 2.1 ManyToOne
    #38832889
FlyHippo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Не получается никак примапить сущность Client

Demand.java
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
.............
@Entity
@Table(name = "demand", schema = "public", catalog = "db")
public class Demand {
    ....................
    @ManyToOne
    @JoinColumn(name = "client_id", nullable = false)
    private Client client;
.....................


Client.java
Код: java
1.
2.
3.
4.
5.
6.
7.
@Entity
@Table(name = "client", schema = "public", catalog = "db")
public class Client {
    ....................
    @OneToMany(mappedBy = "client")
    private List<Demand> demands;
.....................



Ошибка: org.hibernate.MappingException: Could not determine type for: ru.se.icred.domain.Client, at table: demand, for columns: [org.hibernate.mapping.Column(client)]"}}

версии hibernate 4.3.7, spring 4.1.2, AP - wildfly 8.2

порылся по подобным ошибкам .... ничего не дало .... может hibernate что то не того?
...
Рейтинг: 0 / 0
Spring JPA 2.1 ManyToOne
    #38832922
smackmychi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FlyHippo, У вас первичный ключ клиента - id, а в связи вы указываете client_id. Вот и все
...
Рейтинг: 0 / 0
Spring JPA 2.1 ManyToOne
    #38832933
FlyHippo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
smackmychi,
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE TABLE public.demand (
  id BIGSERIAL,
  client_id BIGINT NOT NULL,
  CONSTRAINT demand_pkey PRIMARY KEY(id),
  CONSTRAINT demand_fk FOREIGN KEY (client_id)
    REFERENCES public.client(id)
    ON DELETE RESTRICT
    ON UPDATE CASCADE
    NOT DEFERRABLE,
) 



Код: plsql
1.
2.
3.
4.
5.
CREATE TABLE public.client (
  id BIGSERIAL,
  reg_area VARCHAR(30) NOT NULL,
  CONSTRAINT client_pkey PRIMARY KEY(id)
) 
...
Рейтинг: 0 / 0
Spring JPA 2.1 ManyToOne
    #38832939
FlyHippo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
smackmychi,
Указал я все верно.
Внешний ключ используется же.
...
Рейтинг: 0 / 0
Spring JPA 2.1 ManyToOne
    #38832949
smackmychi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FlyHippo, недавно ответил вам на этот же вопрос на ХК. У вас в коде явно указано

FlyHippo public class Client {

@Id
@Column(name = "id")
private long id;

Значит у вас структура таблицы не соответствует структуре сущности.
...
Рейтинг: 0 / 0
Spring JPA 2.1 ManyToOne
    #38832950
smackmychi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
smackmychi, все, понял, туплю. в JoinColumn вы указываете столбец не внешний ключ текущей сущности, а первичный ключ целевой сущности.
...
Рейтинг: 0 / 0
Spring JPA 2.1 ManyToOne
    #38833514
FlyHippo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
smackmychi,
Что то окончательно запутали меня ...
Все же как правильно?

Везде написано что в @JoinColumn ставится внешний ключ ... и в примерах всяких смотрел.
...
Рейтинг: 0 / 0
Spring JPA 2.1 ManyToOne
    #38833536
FlyHippo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
smackmychi,

попробовал на hibernate 4.3.5, ошибки нет, но и 2-ю сущность не мапит, пишет в результате выдачи null
...
Рейтинг: 0 / 0
Spring JPA 2.1 ManyToOne
    #38833539
FlyHippo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FlyHippo,

добавил правда implements Serializable для обеих сущностей, теперь компилит и для версии 4.3.7
но таблицу 2-ю так и не мапит
в логах хибернейт делает select по 1-й таблице только.
...
Рейтинг: 0 / 0
Spring JPA 2.1 ManyToOne
    #38833543
FlyHippo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FlyHippo,

При этом все в базе прописано нормально, делаю select cl.* from demand d, client cl where cl.id = d.client_id
выполняется как надо
...
Рейтинг: 0 / 0
Spring JPA 2.1 ManyToOne
    #38833588
FlyHippo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FlyHippo,

В логах
0:42:12,576 INFO [org.hibernate.tool.hbm2ddl.SchemaUpdate] (MSC service thread 1-1) HHH000228: Running hbm2ddl schema update
20:42:12,576 INFO [org.hibernate.tool.hbm2ddl.SchemaUpdate] (MSC service thread 1-1) HHH000102: Fetching database metadata
20:42:12,592 INFO [org.hibernate.tool.hbm2ddl.SchemaUpdate] (MSC service thread 1-1) HHH000396: Updating schema
20:42:12,623 INFO [org.hibernate.tool.hbm2ddl.TableMetadata] (MSC service thread 1-1) HHH000261: Table found: public.client
20:42:12,623 INFO [org.hibernate.tool.hbm2ddl.TableMetadata] (MSC service thread 1-1) HHH000037: Columns: [reg_area, when_given, iname, birthday, phone, oname, resid_street, resid_app, position_work, id, chief_work, pasp_serial, login, salary, pasp_number, fname, resid_area, reg_city, reg_street, resid_city, resid_house, whom_given, reg_house, f_reg, pass, work_place, reg_app]
20:42:12,623 INFO [org.hibernate.tool.hbm2ddl.TableMetadata] (MSC service thread 1-1) HHH000108: Foreign keys: []
20:42:12,623 INFO [org.hibernate.tool.hbm2ddl.TableMetadata] (MSC service thread 1-1) HHH000126: Indexes: [client_pkey]
20:42:12,639 INFO [org.hibernate.tool.hbm2ddl.TableMetadata] (MSC service thread 1-1) HHH000261: Table found: public.demand
20:42:12,639 INFO [org.hibernate.tool.hbm2ddl.TableMetadata] (MSC service thread 1-1) HHH000037: Columns: [clientid, id, f_active, terminal_id, client, form, d_demand, description, summa, client_id, period, fname]
20:42:12,639 INFO [org.hibernate.tool.hbm2ddl.TableMetadata] (MSC service thread 1-1) HHH000108: Foreign keys: [demand_fk1, demand_fk]
20:42:12,639 INFO [org.hibernate.tool.hbm2ddl.TableMetadata] (MSC service thread 1-1) HHH000126: Indexes: [demand_pkey]
20:42:12,686 ERROR [org.hibernate.tool.hbm2ddl.SchemaUpdate] (MSC service thread 1-1) HHH000388: Unsuccessful: alter table db_cred.public.demand add constraint FK_2vw0pnlo54wm1d7o91s2fa279 foreign key (client) references db_cred.public.client
20:42:12,686 ERROR [org.hibernate.tool.hbm2ddl.SchemaUpdate] (MSC service thread 1-1) ОШИБКА: ограничение внешнего ключа "fk_2vw0pnlo54wm1d7o91s2fa279" нельзя реализовать
Подробности: Колонки ключа "client" и "id" имеют несовместимые типы: bytea и bigint.
20:42:12,686 INFO [org.hibernate.tool.hbm2ddl.SchemaUpdate] (MSC service thread 1-1) HHH000232: Schema update complete

Он что пытается добавить внешний ключ?
И с чего он взял тип bytea?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring JPA 2.1 ManyToOne
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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