0

i have 2 classes

    public class Message : IMessage
    {
      public virtual int Ik { get; private set; }
      public virtual string Description { get; set; }
    }

    public class Action
    {
      public virtual int Ik { get; set; }
      public virtual IMessage Message { get; set; }   
}   

hbm mapping

<class entity-name="Action" name="ActionBase" table="Action" abstract="true">
        <id name="Ik" column="Ik">
            <generator class="native"/>
        </id>

        <many-to-one name="Message" column="MessageFk" class="BusinessComponents.Message.Message, BusinessComponents.Message"/>
</class>

A question is how can I protect myself from deleting Message?

user681055
  • 59
  • 11

1 Answers1

1

you haven't specified cascade in the many-to-one so it will default to none which means delete operations of Actions will not Delete the message. The rest will be taken care of by the foreign key which prevents deleting the message if there are Actions left referencing it.

Firo
  • 30,626
  • 4
  • 55
  • 94