방지

2012-02-11 7 views
1

'- null이 아닌 속성은 null 또는 과도 값을 참조하는'나는이 매핑방지

<?xml version="1.0" encoding="utf-8" ?> 
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="DatabaseAccess" namespace="DatabaseAccess.poco"> 
    <class name="Employee" table="emplyees" lazy="true"> 
    <id name="id"> 
     <generator class="increment"></generator> 
    </id> 

    <property name="first_name" not-null="true"></property> 
    <property name="last_name" not-null="true"></property> 
    <property name="login" not-null="true"></property> 
    <property name="sid"></property> 

    </class> 
</hibernate-mapping> 

session.Save (개체) 예외 포기하지 않는다면 내가 할 수있는 일 : 나는이를 채우려 not-null property references a null or transient value 을 어쨌든 커밋하기 전에 nulls.

+2

글쎄, 왜'Save'를 호출하기 전에 그것을 기입하지? – NOtherDev

+3

- "의사,이 일을 할 때 아파요."- "그러지 마세요" –

+0

@DiegoMijelshon. 내가 할 수 있다면 +10. – gdoron

답변

1

session.Save (object)가 예외를 throw하지 않으면 내가 할 수있는 일 : not-null 속성은 null 또는 일시적인 값을 참조합니다. 어쨌든 커밋하기 전에 null을 채우고 싶습니다.

  • 매핑을 변경할 수 없도록 변경합니다.
  • 저장하기 전에 null을 채 웁니다.
  • 저장된 개체를 업데이트 :

session.Save(obj); 
obj.Foo = new foo(); 

//session.SaveOrUpdate(object) // required if it's a new session.