У меня есть EntityCondition, и я хочу получить SQL от него.Получить команду SQL от EntityCondition
Для экс:
EntityCondition: partyId = 'admin'
-> SQL: party_id = 'admin'
Я пытался найти в проекте OFBiz, но я ничего не нашел.
У меня есть EntityCondition, и я хочу получить SQL от него.Получить команду SQL от EntityCondition
Для экс:
EntityCondition: partyId = 'admin'
-> SQL: party_id = 'admin'
Я пытался найти в проекте OFBiz, но я ничего не нашел.
В OFBiz существует общее правило: сущности и поля определены в CamelCase, например, PartyAttribute или productId. Объекты начинаются с прописной буквы (например, класса Java), а поля начинаются с строчной буквы (например, атрибута класса Java).
Заглавная буква внутри объекта или поля преобразуется в «_ [нижний регистр]».
Так
EntityCondition: partyId = 'admin'
-> SQL: party_id = 'admin'
Полный выбор для лица PartyAttribute будет
SELECT * FROM PARTY_ATTRIBUTE WHERE PARTY_ID = 'admin'
Вы можете попробовать
makeWhereString(ModelEntity modelEntity, List<EntityConditionParam> entityConditionParams, DatasourceInfo datasourceInfo)
для достижения этой цели программно, но я не пробовал.
Это именно то, что я сделал, по-прежнему требует кода, спасибо за вашу помощь :) –
Обновите мой ответ, чтобы дать подсказку makeWhereString (ModelEntity modelEntity, List
Нет, второй подход требует больше кодов :-) –
Я не уверен, чего вы хотите достичь, пожалуйста, будьте более конкретными. Для вышеизложенного существует, по крайней мере, объект, который вы хотите выбрать, отсутствует. Для партии это будет: SELECT * FROM PARTY WHERE PARTY_ID = 'admin'; –
@MichaelBrohl Когда мы используем EntityCondition # toString(), мы получим 'partyId = 'admin'', но для запроса в базу данных я должен быть' party_id' не 'partyId'. –