Как программно генерировать сущности и свойства Coldfusion ORM

Допустим, я хочу использовать Hibernate ORM от Coldfusion. Но я не хочу писать CFC для каждого объекта, у меня есть файл конфигурации, в котором подробно описана моя схема.

Я хочу проанализировать этот файл конфигурации и динамически сгенерировать ORM.


Или, что, если бы у меня были некоторые CFC

  • Блоги.cfc
  • Tags.cfc

Но отношения носят более «динамический» характер. Есть ли способ программно добавить мое собственное свойство для связи блогов и тегов?


Эти примеры упрощены по сравнению с тем, что я пытаюсь сделать, но это необходимые первые шаги, и, похоже, никто больше не задает эти вопросы.


person Tyler Clendenin    schedule 30.08.2012    source источник
comment
Можете ли вы опубликовать свой файл конфигурации, пожалуйста?   -  person Russ    schedule 01.09.2012


Ответы (1)


Я написал CFC, который проводил самоанализ базы данных и создал для меня свои CFC ORM. Что касается того, чтобы сделать их «динамическими», это действительно зависит от того, насколько они динамичны. Если бы вы хотели, чтобы они были настолько плавными, что вы могли бы передавать аргументы и изменять свойства, это могло бы сработать, но я не думаю, что это было бы эффективно с точки зрения производительности. Я также не уверен, что это сработает, поскольку ORM генерирует все ваши файлы гибернации после загрузки приложения или вызова ORMReload(). Другими словами, CF работает с этими файлами гибернации в фоновом режиме. Постоянные CFC используются в качестве карты для создания этих файлов конфигурации гибернации. По крайней мере, я так понимаю, как это работает.

Возможно, вам захочется разработать интерфейс для работы напрямую с Hibernate, что может позволить вам сделать ваши объекты ORM действительно «динамическими». Если это то, что вы хотите сделать, вы должны найти этот ссылка полезная.

person JamesRLamar    schedule 30.08.2012
comment
это cfc, который вы создали, что-то, что вы могли бы опубликовать? @jamesRLamar Спасибо! - person timbrown; 16.07.2015
comment
@timbrown, я только что разместил весь фреймворк на Github. Никаких гарантий. Очень мало документации. Используйте на свой страх и риск, но я вложил в это много труда, поэтому не стесняйтесь использовать все, что вам нравится. github.com/JamesRLamar/axstron - person JamesRLamar; 17.07.2015