2014-01-04 2 views
0

У меня есть поле, которое нужно индексировать. Это поле будет использоваться только на фильтрах равенства и объединениях, поэтому было бы более эффективно сохранять его как хэш-индекс. Я не могу найти в документации jdo стандартный способ сделать это (что имеет смысл, так как это очень низкоуровневая вещь). Есть ли способ сделать это в datanucleus, используя аннотации POJO?Определить индекс ah hash на основе JDO

Дополнительная информация: Я использую datanucleus для доступа к таблице в Google Cloud SQL, которая в основном является MySql. Я бы предпочел, чтобы JDO создавал таблицы и индексы для меня, вместо того, чтобы явно писать CREATE TABLE в SQL с соответствующими указанными индексами (или позже CREATE INDEX).

EDIT

Я знаю @Index аннотацию, но там, кажется, нет никакого способа, чтобы указать, какой индекс вы хотите, и я думаю, что без спецификации MySql создаст индекс, основанный ВТКЕЕ, который не является что я хочу: мне нужно использовать индексы на основе хэша (или убедиться, что BTREE более эффективны для хэшей на фильтрах равенства, но я не думаю, что это так).

ответ

0

Если вы используете DataNucleus JDO, то вы, похоже, далеко не нашли документацию - все элементы управления JDO документированы. Попробуйте это для индексов http://www.datanucleus.org/products/accessplatform/jdo/orm/constraints.html

+0

На самом деле я не искал документацию datanucleus, а только JDO. Это моя вина. Другая моя ошибка заключается в том, что мой вопрос, вероятно, недостаточно ясен о том, что я хочу, это индекс на основе хэша, и сейчас я хочу улучшить этот вопрос. – p91paul