我使用此属性设置持久性组件:
<cfproperty name="active" ormType="timestamp" notnull="true" dbDefault="now()" />
现在,如果我通过不指定其created_at
值来保存实体,则会收到错误:not-null property references a null or transient value: User.active
。
如何在创建实体时跳过指定所有列?
谢谢!
答案 0 :(得分:0)
我不是在数据库模式中设置默认值,而是使用default
属性在实体的属性中定义它们以避免空值。
但是,请记住,只有简单和非动态值(例如固定字符串和数字)才能被定义为默认值。如果您需要定义复杂值(如数组)或动态值(例如Now()
),则需要在实体的init()
方法中设置它们。
component name="user" accessors=true persistent=true{
property name="active" ormtype="boolean" default=false;
property name="created_at" ormtype="timestamp";
function init(){
variables.created_at=Now();
return this;
}
}