TABLE BOOKING (
BOOK_ID
PERSONAL_ID
ORGINIZER
TITLE
PRIMARY KEY ( BOOK_ID )
FOREIGN KEY ( PERSONAL_ID)
);
TABLE PERSONAL
(
ID
NAME
SURNAME
EMAIL
PRIMARY KEY (ID)
);
我的问题是我如何映射表PERSONAL?我的问题是PERSONAL没有FOREIGN KEY所以我不知道如何映射PERSONAL。我需要从该表中获取NAME,SURNAME和EMAIL。
希望有人可以提供帮助。
我的映射到目前为止看起来像这样:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="Depp.Domain.Booking, Depp.Core" >
<id name="ID" unsaved-value="0" column="ID">
<generator class="native">
<!--<param name="sequence">GLOBALSEQUENCE</param>-->
</generator>
</id>
<property name="Title" ></property>
<property name="TitleEnabled" type="yes_no">
<column name="THEMA_ENABLED"/>
</property>
<property name="ORGANIZER" column="PERSONAL_ID" not-null="true" ></property>
<many-to-one name="Personal" class="Book.Domain.Booking, Book.Core" column="Personal_ID"
not-null="true" />
</class>
<class name="Book.Domain.Personal, Book.Core">
<id name="id" column="ID">
<generator class="native"/>
</id>
<component name="Booker" class="Book.Domain.Person, Book.Core">
<property name="Name" column="NN" />
<property name="Surname" column="VN"/>
<property name="Email" column="EMAIL" />
<property name="Phone" column="TEL" />
</component>
</class>
</hibernate-mapping>
如果我使用多对一关系,网站就会崩溃。
答案 0 :(得分:1)
你写道:
网站崩溃
这不是一个详细的错误报告;-)。如果您提供更多详细信息,它可以帮助我们。
在任何情况下,从映射我可以看到一件可能是错误的事情:在<many-to-one />
中你需要指出你要映射的属性的类(“个人”),而不是包含类( “预定”)。尝试以下几点:
<many-to-one name="Personal"
class="Book.Domain.Personal, Book.Core"
column="Personal_ID"
not-null="true" />
主要区别在于class
属性。我想你甚至可以完全省略该属性,让NHibernate从实体的属性类型中推断它。
有关详细信息,请参阅many-to-one文档。