【问题标题】:How to map over a table without a foreign key如何在没有外键的情况下映射表
【发布时间】:2023-03-08 10:25:01
【问题描述】:
   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) 
    );

我的问题是如何映射个人表?我的问题是个人没有外键,所以我不知道如何映射个人。我需要从该表中获取 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>

如果我使用多对一关系,网站就会崩溃。

【问题讨论】:

    标签: hibernate nhibernate nhibernate-mapping hibernate-mapping


    【解决方案1】:

    你写:

    网站崩溃

    这不是一份非常详细的错误报告;-)。如果您提供更多详细信息,它可以帮助我们帮助您。

    无论如何,从映射中我可以看出一件事可能是错误的:在&lt;many-to-one /&gt; 中,您需要指出您正在映射的属性的类(“个人”),而不是包含类(“预订”)。尝试以下方式:

    <many-to-one name="Personal" 
        class="Book.Domain.Personal, Book.Core" 
        column="Personal_ID"
        not-null="true" />
    

    主要区别在于class 属性。我认为您甚至可以完全省略该属性,并让 NHibernate 从实体的属性类型推断它。

    有关详细信息,请参阅many-to-one 文档。

    【讨论】:

      猜你喜欢
      • 2016-05-23
      • 2023-01-11
      • 2018-09-22
      • 2014-04-09
      • 2014-06-06
      • 1970-01-01
      • 2016-05-10
      • 1970-01-01
      • 2011-06-29
      相关资源
      最近更新 更多