Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate / 10 сообщений из 10, страница 1 из 1
23.05.2016, 11:45
    #39241283
wvetal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate
Проект на Spring. Для примера даю упрощенный вариант.
Есть класс Person1:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
@Entity
@Table(name = "person1")
public class Person1 {
	
	@Id
	private long id;
	
	private String name;
	
	@JoinColumn(name="ref1")
	@ManyToOne(cascade=CascadeType.ALL)
	private Ref1 ref1;
	
	public Person1() {
	}
	...


Класс Ref1:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
@Entity
@Table(name = "ref1")
public class Ref1 {

	@Id
	private long id;

	private String name;
	
	public Ref1() {
	}
	...


А в БД Оракл есть view:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE OR REPLACE VIEW ref1 AS 
 SELECT 1 AS id,
    'one' AS name,
    2 AS type_id
UNION ALL
 SELECT 2 AS id,
    'two' AS name,
    2 AS type_id;


Проблема в том, что приложение на сервере стартует с ошибками:
ORA-02268: referenced table does not have a primary key
(ну, это в принципе понятно почему)

Пробовал добавить ключ:
Код: sql
1.
alter view ref1 add constraint ref1_pk primary key (id) disable;


В этом случае ошибка другая:
ORA-02270: no matching unique or primary key for this column-list

Вопрос: Можно ли заставить приложение стартовать без ошибок и в то же самое время подтягивать данные для Person1 из view?
...
Рейтинг: 0 / 0
23.05.2016, 11:53
    #39241289
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate
wvetal,

Код: java
1.
2.
3.
4.
    Properties hibernateProperties() {
        return new Properties() {
            {
                setProperty("hibernate.hbm2ddl.auto", "create");



вот так попробуй. пусть хибер не ленится и сам создает свои таблицы
...
Рейтинг: 0 / 0
23.05.2016, 12:04
    #39241298
wvetal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate
andreykaTwvetal,

Код: java
1.
setProperty("hibernate.hbm2ddl.auto", "create");


вот так попробуй. пусть хибер не ленится и сам создает свои таблицы
Не помогло.
...
Рейтинг: 0 / 0
23.05.2016, 12:43
    #39241341
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate
wvetal
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE OR REPLACE VIEW ref1 AS 
 SELECT 1 AS id,
    'one' AS name,
    2 AS type_id
UNION ALL
 SELECT 2 AS id,
    'two' AS name,
    2 AS type_id;



Что это за хардкод в БД? Это и в ентерпрайзе такое будет? Создай нормальную табличку и нацель на нее view?
...
Рейтинг: 0 / 0
23.05.2016, 12:48
    #39241344
wvetal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate
maytonwvetal
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE OR REPLACE VIEW ref1 AS 
 SELECT 1 AS id,
    'one' AS name,
    2 AS type_id
UNION ALL
 SELECT 2 AS id,
    'two' AS name,
    2 AS type_id;



Что это за хардкод в БД? Это и в ентерпрайзе такое будет?
Конечно же нет. :)
wvetalДля примера даю упрощенный вариант
...
Рейтинг: 0 / 0
23.05.2016, 12:50
    #39241347
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate
...
Рейтинг: 0 / 0
23.05.2016, 12:55
    #39241349
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate
а джойн_Коламн не хочешь случайно к айди подцепить сущности реф1? не?
...
Рейтинг: 0 / 0
23.05.2016, 13:21
    #39241367
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate
wvetal,
даже в 1 классе уже на руки выдают букварь.
Не морочь голову дурацкими вопросами. Найди демку один ко многим и отработай по ней.
...
Рейтинг: 0 / 0
23.05.2016, 13:23
    #39241371
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate
Топик еще раз подтвеждает что невозможно разбираться в хибернейт
не зная особенностей своей целевой БД.

Толкование ошибки тут

http://oracleplsql.ru/ora-02268.html
...
Рейтинг: 0 / 0
23.05.2016, 21:52
    #39241743
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate
maytonТопик еще раз подтвеждает что невозможно разбираться в хибернейт
не зная особенностей своей целевой БД.+100
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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