Многие к одному объекту, используя JPA - PullRequest
0 голосов
/ 15 августа 2011

Я пытаюсь создать объект для структуры таблицы, приведенной ниже

(id, name, task, leader_id)

эта таблица содержит информацию о пользователях команды для выполнения конкретного задания и их лидере в команде.

Я написал такую ​​сущность

@Column(name = "id", insertable = false, nullable = false, updatable = true)
private Integer id;

@Col umn(name = "name", nullable = false)
private String tokenName;

@Column(name = "task", nullable = false)
private String task;

@ManyToOne(cascade = ALL, fetch = LAZY)
@JoinColumn(name = "leader_id")
private User leader;

Я создал ddl через hibernate3: hbm2ddl, и это выглядит так

alter table user
drop
foreign key FK60FD5D6395C4EEC2;

drop table if exists user;

create table user (
    id integer not null auto_increment,
    task varchar(255),
    name varchar(255) not null,
    leader_id integer,
    primary key (id)
);

alter table user
    add index FK60FD5D6395C4EEC2 (leader_id),
    add constraint FK60FD5D6395C4EEC2
    foreign key (leader_id)
    references user (id);

при экспорте этой схемы через maven-sql-plugin я получаю следующую ошибку

[ERROR] Failed to execute:
alter table user
drop
foreign key FK60FD5D6395C4EEC2
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Column "FOREIGN" not found; SQL statement:

alter table user
drop
foreign key FK60FD5D6395C4EEC2 [42122-158]

Где я делаю не так?

1 Ответ

1 голос
/ 15 августа 2011

Попробуйте это:

@ManyToOne(cascade = ALL, fetch = LAZY)
@JoinColumn(name = "leader_id")
@NotFound(action = NotFoundAction.IGNORE) 
public User getLeader()
{
  return leader;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...