Entity Manager find () со свойством Map - PullRequest
0 голосов
/ 20 июля 2011

У меня есть EntityManager, и я ищу с использованием метода find (Entity.class, primaryKey, mapProperty). Вопрос в том, что я установил эту карту?

@Entity
public class Entity{
    @Id
    private int id;

    @ManyToOne
    private Property prop;

    //setter e getter method
    //..
}

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

1 Ответ

0 голосов
/ 07 октября 2011

Лучше использовать Criteria API или JP QL. Возможно, вы неверно истолковываете смысл третьего аргумента, который нужно найти. Это не какая-то карта, которую вы имеете в своей сущности. Он содержит «стандартные и специфичные для поставщика свойства и советы», как описано, например, в Javadocs. Вы не установите его, если у вас нет тех, чтобы дать. Тогда лучше использовать find (entityClass, primaryKey), но, как вы видите, он предоставляет только возможность запроса с первичным ключом.

...