Для метода возможно записать в действительные доступы массива, что это не намеревалось, обычно посредством целочисленного переполнения.
, Например, следующее не достаточно для проверки границ:
/* !! WRONG !! */ 0 <= off && 0 <= len && off+len <= buff.length /* !! WRONG !! */
IIRC, StringBuffer
когда-то имел ошибку как этот, но не было ничего интересного, которое Вы могли сделать с ним.
Попытайтесь создать псевдоним для свойства "car" перед добавлением выражения eq, например:
session.createCriteria(CarParts.class)
.createAlias("car", "c")
.add(eq("c.owner", myCarOwner));
В качестве первой проверки конфигурации ORM между сущностями Car и CarPart обычно требуется установить отношения между ними. После этого попробуйте выполнить следующий код:
List result = session.createQuery("from " + CarPart.class.getName() +
" as parts join parts.car as car where car.owner = :myOwner")
.setParameter("myOwner", 123)
.list();