powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Аннотация для CreateOrFindTable
8 сообщений из 8, страница 1 из 1
Аннотация для CreateOrFindTable
    #38444350
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня господа !
Попытался создать класс(таблицу) используя уроки ютуба

Возник вопрос - как создать таблицу(если ее нет), или ас-
социироваться с ней для редактирования(если она уже есть)

т.е. необходимо выполнить по условию
new SchemaExport(config).create(true, true);
Какие штатные инструменты имеються в наличии в Hibernate ?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
package Hibernate.Oracle;

import java.util.Calendar;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Table;
import javax.persistence.Id;
import javax.persistence.TableGenerator;

@Entity
@Table(name="UserList")
public class UserList {
	private int Id;
	private String Name;

	@Id
	@Column(name="Id")
	@TableGenerator(name="UserId",
					table="UserId_Key",
					pkColumnName="PrimaryKey",
					pkColumnValue="UserList_Pk",
					allocationSize=1
					)
	@GeneratedValue(strategy=GenerationType.TABLE,
					generator="UserId"
					)
	public int getId() {
		return Id;
	}
	public void setId(int id) {
		Id = id;
	}

	@Column(name="Name")
	public String getName() {
		return Name;
	}
	public void setName(String name) {
		Name = name;
	}
}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
package Hibernate.Oracle;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class ExeUserList {

	public static void main(String[] args) {
		AnnotationConfiguration config = new AnnotationConfiguration();
		config.addAnnotatedClass(UserList.class);
		config.configure("hibernate.cfg.xml");
		new SchemaExport(config).create(true, true);
		SessionFactory factory = config.buildSessionFactory(); 
		Session session = factory.getCurrentSession();
		session.beginTransaction();
		UserList record0 = new UserList();
        record0.setName("Oslov");
		session.saveOrUpdate(record0);
		UserList record1 = new UserList();
        record1.setName("Kozlov");
		session.saveOrUpdate(record1);
		session.getTransaction().commit();
	}

}
...
Рейтинг: 0 / 0
Аннотация для CreateOrFindTable
    #38444352
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хибер по идее автоматом создаёт таблицы если их нет.
Здесь описаны опции
http://stackoverflow.com/questions/306806/hibernate-automatically-creating-updating-the-db-tables-based-on-entity-classes
...
Рейтинг: 0 / 0
Аннотация для CreateOrFindTable
    #38444363
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonХибер по идее автоматом создаёт таблицы если их нет.
Здесь описаны опции
http://stackoverflow.com/questions/306806/hibernate-automatically-creating-updating-the-db-tables-based-on-entity-classes

Принято - получилось !
Насколько понял <property name="hibernate.hbm2ddl.auto" value=" update "/>

Но данный код осуществляет еще и разбор структуры
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
02:05:14,993  INFO TableMetadata:65 - table found: SYS.USERLIST
02:05:14,994  INFO TableMetadata:66 - columns: [id, name]
02:05:14,994  INFO TableMetadata:68 - foreign keys: []
02:05:14,994  INFO TableMetadata:69 - indexes: [sys_c0011250]
02:05:15,013  INFO TableMetadata:65 - table found: SYS.USERLIST
02:05:15,013  INFO TableMetadata:66 - columns: [id, name]
02:05:15,013  INFO TableMetadata:68 - foreign keys: []
02:05:15,013  INFO TableMetadata:69 - indexes: [sys_c0011250]
02:05:15,015  INFO DatabaseMetadata:119 - table not found: sys.UserId_Key
02:05:15,036  INFO TableMetadata:65 - table found: SYS.USERID_KEY
02:05:15,036  INFO TableMetadata:66 - columns: [sequence_next_hi_value, primarykey]
02:05:15,036  INFO TableMetadata:68 - foreign keys: []
02:05:15,037  INFO TableMetadata:69 - indexes: []
02:05:15,037 DEBUG SchemaUpdate:203 - alter table sys.UserList add Address varchar2(255 char)
02:05:15,051  INFO SchemaUpdate:217 - schema update complete
Hibernate: insert into sys.UserList (Address, Name, Id) values (?, ?, ?)
Hibernate: insert into sys.UserList (Address, Name, Id) values (?, ?, ?)



Т.е. затраты времени, мне необходимо, только ассоциировать класс с таблицей и
встаивть запись
Как сделать только это ?
...
Рейтинг: 0 / 0
Аннотация для CreateOrFindTable
    #38444727
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,

Никто не сталкивался с такой ситуацией ?
...
Рейтинг: 0 / 0
Аннотация для CreateOrFindTable
    #38444809
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot
Насколько понял <property name="hibernate.hbm2ddl.auto" value=" update "/>

Но данный код осуществляет еще и разбор структуры

Т.е. затраты времени, мне необходимо, только ассоциировать класс с таблицей и
встаивть запись
Как сделать только это ?[/quot]

Критичные затраты на старте?

<property name="hibernate.hbm2ddl.auto" value=" validate "/> ? Это ? идет проверка что таблица есть.
...
Рейтинг: 0 / 0
Аннотация для CreateOrFindTable
    #38444919
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,

Понял - спасибо ...
...
Рейтинг: 0 / 0
Аннотация для CreateOrFindTable
    #38445979
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,

Малость не получаеться ....

Новые вводные
1. Есть таблица Oracle - которая создана в индив. порядке,она партифицирована, разнесена по разным diskspace
2. Можно ли ее ассоциировать с классом при помощи библиотек Hibernate ?
3. Всякое изменение структуры посредством Hibernate по этой таблице - запретить ! (только изменение данных)

Такие действия возможны - и если "ДА" - как именно ?

Заранее благодарен !
...
Рейтинг: 0 / 0
Аннотация для CreateOrFindTable
    #38445980
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,

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


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