помогите с hibernate
От: majordomo  
Дата: 31.01.06 05:05
Оценка:
есть класс-контейнер, есть класс элемент контейнера

public class MyContainer
{
private int _id;
List<MyEntity> _entities = new FastList<MyEntity>;
....
}

public class MyEntity
{
private int _type;
private int _flag;
....
}

контейнер хранит свои объекты в базе, таблица вида containerId;entityType;entityFlag

раньше это все тупо восстаноавливалось:

statement = con.prepareStatement("SELECT * FROM containers WHERE containerId=?");
statement.setInt(1, getId());
rs = statement.executeQuery();
container.addEntity(new MyEntity(rs.getInt("type"),...));

теперь хочется перетащить это все на хибернейт, НО, вводить дополнительное поле в MyEntity::parentConatinerId не хочется
есть возможность передать хибернейту доп. аргументы для объекта в процессе Session.save(MyEntity); ?
в следующем году мы пофиксим это патчем (c)
Re: помогите с hibernate
От: Replicator  
Дата: 31.01.06 08:13
Оценка:
M>контейнер хранит свои объекты в базе, таблица вида containerId;entityType;entityFlag
что в этой таблице служит primary key?
почему entities не вынесены в отдельную таблицу?
Re[2]: помогите с hibernate
От: majordomo  
Дата: 31.01.06 09:11
Оценка:
Здравствуйте, Replicator, Вы писали:

M>>контейнер хранит свои объекты в базе, таблица вида containerId;entityType;entityFlag

R>что в этой таблице служит primary key?
R>почему entities не вынесены в отдельную таблицу?

containerId -> primary key
entityType тоже ключевое
оно в отдельной таблице, схема вроде:

table containers(containerId,containerName)
table container_entities(parentContainerId,entityId,entytyFiled1,...)
в следующем году мы пофиксим это патчем (c)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.