Caused by: org.hibernate.PropertyValueException: not-null property references a null or transient value: com.employment.entity.News.childColumns
我添加了一个栏目名如:“校园招聘”,然后我在添加新闻信息的时候,选择这个“校园招聘”的栏目的时候,点击添加,就会出现如上错误,我查了数据库,“校园招聘”这个名称在数据库中是有的,所以我觉得就不可能是null关联,而应该是出现了transient状态的值。
故向各位兄弟求救,老弟急需解决啊,有了解这个的兄弟请帮帮忙,老弟在此将感激不尽啊!

解决方案 »

  1.   

    某一个ChildColumn是游离态的  可以设置保持时的级联
      

  2.   

    就是我有一个栏目表,然后从页面那边插入数据,
    再来就是新闻信息表,我在新闻表中添加数据的时候,弄了一个栏目级联,
    当我选择从页面添加进来的值的时候,就会报
    Caused by: org.hibernate.PropertyValueException: not-null property references a null or transient value: com.employment.entity.News.childColumns
    这个错误
    代码你是主要看那个部分的,是Dao层,还是实体类的关联映射……?
      

  3.   

    你的新闻里的配了many-to-one的栏目压根就没有值或者是值不对,用debug自己去看。
      

  4.   

    我的栏目表是有记录的,就是说出现了游离状态的值,即session缓存被清空了,所以才导致找不到
    我现在只是不清楚该怎样把游离状态的值给转换成持久化的值
    看了资料说把游离状态转换成持久状态用,session的saveOrUpdate()
    但是我就是用这个方法保存数据的,是什么原因呢??
      

  5.   

    按照你说的栏目是处于游离态,你试试在新闻表添加数据时,new一个新的栏目出来处理一下,然后再保存。
      

  6.   

    谢谢各位兄弟的帮忙了,现在问题已解决。
     <many-to-one name="childColumns" 
              class="com.employment.entity.ChildrenColumns" 
              fetch="select"
             cascade="save-update" 
                                    lazy="false" >
                <column name="columnid" not-null="true"/>
            </many-to-one>
    这个地方漏加红色字体部分