Во-первых, даже если большинство поставщиков персистентности JPA (таких как Hibernate, EclipseLink, ...) обеспечивают поддержку кэша (ов) второго уровня, JPA 1.0 не не указывает поддержку кэша второго уровня. Таким образом, играя с кешем L2, вы фактически используете расширения JPA, которые не являются стандартными и не переносимы от одного поставщика к другому. @Cache
Hibernate не совпадает с @Cache
EclipseLink и не сопоставим с @DataCache
OpenJPA. Все они разные, они являются собственностью. Если вы используете Hibernate (как я понимаю ваши предыдущие вопросы), вы не должны смотреть на вещи, являющиеся собственностью EclipseLink (или только на вашу культуру, но этот вопрос выходит за рамки культуры, если можно).
Во-вторых, с чего вы взяли, что аннотация EclipseLink @Cache
имеет какое-либо отношение к EHCache? AFAIK, EclipseLink использует собственную реализацию кэша , которая не связана с EHCache.
На самом деле, у меня такое чувство, что вы немного растерялись здесь. Возможно, вам следует немного замедлиться и делать что-то шаг за шагом: выберите одно решение, придерживайтесь его, определите, что вам нужно сделать, реализуйте вещи одно за другим и заставьте все это работать. Сконцентрируйтесь на своей цели, прекратите собирать больше информации, найдите время, чтобы переварить новые знания, которые вы узнали.