Ранее я работал с SQLAlchemy, и по своему опыту я мог выполнять декларативное сопоставление от классов к таблицам в SQLAlchemy, а также отношения между классами.Соотношение между сопоставлением между классами таблицы Hibernate
Вот пример декларации:
class Item(Base):
__tablename__ = 'item'
id = Column(Integer, Sequence('item_seq'), primary_key=True)
barcode = Column(String, unique=True)
shortdesc = Column(String)
desc = Column(String)
reg_date = Column(DateTime)
registrar = Column(String)
category = Column(String, ForeignKey('category.code'))
supplier = Column(String, ForeignKey('supplier.code'))
stock_on_hand = Column(Integer)
cost = Column(Float)
price = Column(Float)
unit = Column(String, ForeignKey('unit.code'))
receiving = relationship('Receiving', backref='item')
adjustment = relationship('Adjustment', backref='item')
sales = relationship('Sales', backref='sales')
def __repr__(self):
return "<Item('%s','%s','%s', '%s')>" % (self.barcode, self.shortdesc, self.stock_on_hand, self.unit)
class Supplier(Base):
__tablename__ = 'supplier'
code = Column(String, primary_key=True)
name = Column(String)
reg_date = Column(DateTime)
registrar = Column(String)
address_line_1 = Column(String)
address_line_2 = Column(String)
address_line_3 = Column(String)
postcode = Column(String)
city = Column(String)
state = Column(String)
country = Column(String)
phone = Column(String)
fax = Column(String)
representative = Column(String)
item = relationship('Item',backref='supplier')
def __repr__(self):
return "<Supplier('%s','%s','%s')>" % (self.code, self.name, self.representative)
Если Supplier
имеет один-ко-многим с Item
и столом, а также отношения могут быть созданы из этих классов декларации.
Могу ли я сделать то же самое с Hibernate? Как? Я googled высокий и низкий, но я только нашел обратную инженерию из таблицы в класс в Hibernate.
Если это возможно, как мы обрабатываем отношения в Hibernate?
Просто для уточнения вещи, мы могли бы использовать это объявление класса для создания таблиц в спящем режиме, я Я прав? –
Вы можете использовать инструмент hbm2ddl для генерации определений таблиц на основе аннотированных классов (или спящих отображений). – Tobb
Dang, я думал, что это будет так же просто, как SQLAlchemy :( –