Проблемы с EntityLoad CF9 () - PullRequest
       6

Проблемы с EntityLoad CF9 ()

4 голосов
/ 12 августа 2010

Я только начал работать с функциями ORM в CF9 и столкнулся с проблемой.

У меня есть одна настроенная таблица - член - в которой есть 2 записи.

Если я попытаюсь:

<cfscript>
members = EntityLoad("member");
writedump(members);
</cfscript>

... Я должен получить массив объектов-членов; но я получаю ошибку:

unexpected token: member near line 1, column 6 [from member]

The error occurred in \\vmware-host\Shared
Folders\Web\sites\testbed\webroot\orm\index.cfm: line 2
1 : <cfscript>
2 : members = EntityLoad("member");
3 : writedump(members);
4 : </cfscript>

Если я попытаюсь:

<cfscript>
members = EntityLoad("member", {});
writedump(members);
</cfscript>

... Я получил ожидаемый массив из двух объектов-членов, но для его возврата требуется 5-10 секунд.

Но если я запрашиваю уникальный объект:

<cfscript>
members = EntityLoad("member", 1, true);
writedump(members);
</cfscript>

... Я получаю результат, возвращенный мгновенно.

Есть идеи о том, в чем состоит проблема (проблемы)?

member.cfc :

component output="false" persistent="true"
{
// identifier
property name="memberid" fieldtype="id"; 

// properties
property name="firstname";
property name="lastname";
property name="address1";
property name="address2";
property name="city";
property name="postcode";
property name="country";
property name="email";
property name="telephone";
property name="uuid";
property name="password";
}

1 Ответ

3 голосов
/ 13 августа 2010

Хорошо, я понял это ...

Оказывается, что "член" - это (полу) зарезервированное слово в Hibernate: https://forum.hibernate.org/viewtopic.php?f=1&t=1005886&start=0

Изменение имени объекта и таблицы на «sitemember» решило проблему.

Я бы предположил, что он работает нормально, если в базовом HQL-запросе есть предложение WHERE после «SELECT FROM member»; но если у вас просто есть базовая сущность ("member"), то у нее нет этого предложения WHERE.

Интересно, есть ли другие имена, от которых мне нужно держаться подальше?

Спасибо за помощь, Генри!

...