Критерии запрашивают в EJB 3

Python распределяется как источник. Самая идея закрытого метода имеет очень мало смысла.

программист, который хочет расшириться B, разбитый проблемой конфиденциальности, смотрит на источник для B, копирует и вставляет исходный код для method в подкласс C.

, Что Вы получили через "конфиденциальность"? Лучшее, на которое можно надеяться, должно расстроить потенциальных клиентов в копирование и вставку.

В худшем случае, они отбрасывают Ваш пакет, потому что они не могут расширить его.

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

Видят , Как я защищаю код Python?

Редактирование На "защищенном от дурака" коде.

Первый, Python распределяется как источник 90% времени. Так, любой идиот, который загружает, устанавливает, и затем отказывается читать руководство API и звонит, методы не в порядке все еще имеет источник для выяснения то, что пошло не так, как надо.

у Нас есть три класса идиотов.

  • Люди, которые отказываются читать руководство API (или просматривать его и игнорировать соответствующие части) и называть методы не в порядке несмотря на документацию. Можно попытаться сделать что-то частным, но это не поможет, потому что они будут делать что-то еще неправильно - и жаловаться на это. [Я не назову имена, но я работал с людьми, которые, кажется, проводят много времени, называя API неправильно. Кроме того, Вы будете видеть вопросы как это на ТАК.]

    можно только помочь им с рабочим примером кода, который они могут вырезать и вставить.

  • Люди, которые смущены API и называют методы каждым различным путем, можно вообразить (и некоторые, которые Вы не можете.) Можно попытаться сделать что-то частным, но они никогда не будут получать API.

    можно только помочь им путем обеспечения рабочего примера кода; даже тогда они вырежут и вставят его неправильно.

  • Люди, которые отклоняют Ваш API и хотят переписать его для создания его "защищенным от неправильного использования".

    можно предоставить им рабочий пример кода, но они не любят API и настоят на том, чтобы переписывать его. Они скажут Вам, что Ваш API является сумасшедшим, и они изменили к лучшему его.

    можно вовлечь этих людей в возрастающую гонку вооружений "защищения от неквалифицированного вмешательства". Все, что Вы соединяете, они демонтируют.

На данном этапе, что конфиденциальность сделала для Вас? Некоторые люди откажутся понимать его; некоторые люди смущены им; и некоторые люди хотят работать вокруг этого.

Как насчет общественности, и позволяют людям, которых Вы звоните, "идиоты" извлекают уроки из Вашего кода?

5
задан Pascal Thivent 3 April 2010 в 02:32
поделиться

2 ответа

JPA не предоставляет API критериев, как в Hibernate. Но вы можете использовать ejb3criteria , библиотеку, которая предоставляет API на основе дизайна Hibernate Criteria API для EJB3 Persistence. ejb3criteria можно использовать с любой реализацией EJB3 Persistence.

0
ответ дан 14 December 2019 в 04:42
поделиться

Одной из новых функций, представленных в JPA 2.0, является API критериев. Вам понадобится одна из реализаций JPA2:

Доступ к запросам критериев осуществляется через EntityManager.getCriteriaBuilder () и выполняется через обычный API запросов.

EntityManager em = ...;
CriteriaBuilder qb = em.getCriteriaBuilder();
CriteriaQuery<Employee> query = qb.createQuery(Employee.class);
Root<Employee> employee = query.from(Employee.class);
query.where(qb.equal(employee.get("firstName"), "Bob"));
List<Employee> result = em.createQuery(query).getResultList();
7
ответ дан 14 December 2019 в 04:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: