2 Stimmen

einfachste Kriterienabfrage

Was ist die einfachste Hibernate-Kriterienabfrage, die der folgenden entspricht

SELECT name FROM people WHERE id='3'

ist es:

criteria.add(Expression.eq("id", 3));

und wie kann ich den Wert des Namensfeldes in der String-Variable abrufen, die IDs sind eindeutig

4voto

Lance Harper Punkte 2190

Wenn Sie eine Abfrage nach "id" durchführen, warum sollten Sie Ihre Hibernate-Kriterien so einrichten, dass sie "name" verwenden? Wenn "id" als Primärschlüssel abgebildet wird und Sie das Objekt direkt laden wollen, verwenden Sie die Siehe Methode von Session.

Exemple :

People thePerson = (People) session.get(People.class, new Integer(1));

Sie könnten auch versuchen zu lesen este .

1voto

Arthur Thomas Punkte 4947

Ich glaube, Sie wollen nur den Namen projizieren und nicht die ganze Entität.

Criteria crit = session.createCriteria(People.class)
  .add(Restrictions.eq("id", 3);
ProjectionList projectList = Projections.projectionList();
projectList.add(Projections.property("name"));
crit.setProjection(projectList);

(String) crit.uniqueResult();

Ich würde einfach mit der Verwendung von session.get(..) in diesem Fall auch gehen, da Sie nur 1 Person abrufen und nicht durch die Mühe der Angabe von etwas gehen müssen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X