Динамическое значение в свойстве для ColdFusion ORM - PullRequest
1 голос
/ 20 сентября 2011

Возможно ли в ColdFusion непостоянное свойство иметь динамическое значение?

Примером будет

   Item.cfc

   property name="myID" length="100"    type="string"   fieldtype="id" generator="guid";

   property name="hasImageFlag"  persistent=false  default="{isNull(getItem().getIcon())};

   property name="Icon"  fieldtype="many-to-one" fkcolumn="imageID" cfc="image" lazy="true";

Так что в этом примере hasImageFlag может быть просто isNull (getItem() .getIcon ()), который возвращает true или false.

Ответы [ 3 ]

2 голосов
/ 20 сентября 2011

Нет, вы не можете сделать это в cfproperty.По двум причинам.

  1. Это просто не позволяет динамическое значение по умолчанию.Так что вы даже не можете сделать default = "# arrayNew (1) #"

  2. В вашем случае метод getItem () этого класса еще не будет существовать, пока этот код выполняется,

Когда мне понадобились динамические значения по умолчанию, я сделал это в методе конструктора init (), чтобы это произошло сразу после создания объекта.

0 голосов
/ 20 сентября 2011

А как насчет использования слушателей событий Hibernate? У Бена Наделя есть приличный учебник для начинающих .

Вы можете делать то, что хотите, используя preLoad или postLoad ...

0 голосов
/ 20 сентября 2011

На самом деле, похоже, что вы пытаетесь заново изобрести формулы Hibernate, которые также доступны через систему ORM CF.

...