【发布时间】:2015-12-27 18:19:04
【问题描述】:
我用这个属性设置了我的持久化组件:
<cfproperty name="active" ormType="timestamp" notnull="true" dbDefault="now()" />
现在,如果我通过不指定 created_at 值来保存实体,则会收到错误消息:not-null property references a null or transient value: User.active。
如何在创建实体时跳过指定所有列?
谢谢!
【问题讨论】:
-
该错误似乎与名为
active而不是created_at的属性有关。您能否发布更多代码以阐明您要执行的操作? -
谢谢,你说得对,这是代码
<cfproperty name="active" ormtype="boolean" notnull="true" dbdefault="false" />,当添加我做的实体u = entityNew('user'); u.setEmail('mymail@domanin.com'); entitySave(u);时,Db结构(Postgresql)似乎没问题,ALTER TABLE users ADD COLUMN active boolean; ALTER TABLE users ALTER COLUMN active SET NOT NULL; ALTER TABLE users ALTER COLUMN active SET DEFAULT false; -
好的,更有意义。您是否尝试过使用
default=false而不是dbdefault,或者除了dbdefault。这应该确保在保存实体时属性不具有空值。 -
另外,为了后代,最好能编辑您的问题以显示您所询问的属性(即
active而不是created_at)。