Hallo,
ich werde aus einem (eigentlich ganz einfachen) EJB QL-Statement einfach nicht schlau. Ich habe folgende Daten in der Datenbank:
Tabelle Files:
id UNSIGNED INT AUTO_INCREMENT PRIMARY KEY
urn VARCHAR INDEX UNIQUE NOT NULL
clob CLOB
blob BLOB
discriminator VARCHAR NOT NULL
1 - test_seite1.xml - XML-Daten - NULL - Xul
2 - test_seite2.xml - XML-Daten - NULL - Xul
3 - test_seite3.xml - XML-Daten - NULL - Xul
Darauf lasse ich folgendes EJB QL-Statement los:
Wobei :name momentan hart kodiert auf test_seite1.xml gesetzt wird.
Laut JBoss-Log generiert Hibernate daraus folgendes SQL-Statement:
Wenn ich das in PHPMyAdmin auf meine Datenbank loslasse (wobei ich das Fragezeichen natürlich durch 'test_seite1.xml' ersetze), bekomme ich genau das Ergebnis, das ich haben will, nämlich den Datensatz von test_seite1.xml.
Mein XULServiceBean aber behauptet stets, es gebe kein Ergebnis. Hier der Code der Methode, die das Abfragen für mich erledigt:
Ich werde nicht schlau aus dieser Sache... Kann jemand helfen?
mpG
Tobias
ich werde aus einem (eigentlich ganz einfachen) EJB QL-Statement einfach nicht schlau. Ich habe folgende Daten in der Datenbank:
Tabelle Files:
id UNSIGNED INT AUTO_INCREMENT PRIMARY KEY
urn VARCHAR INDEX UNIQUE NOT NULL
clob CLOB
blob BLOB
discriminator VARCHAR NOT NULL
1 - test_seite1.xml - XML-Daten - NULL - Xul
2 - test_seite2.xml - XML-Daten - NULL - Xul
3 - test_seite3.xml - XML-Daten - NULL - Xul
Darauf lasse ich folgendes EJB QL-Statement los:
Code:
from XULFile xf where xf.urn=:name
Wobei :name momentan hart kodiert auf test_seite1.xml gesetzt wird.
Laut JBoss-Log generiert Hibernate daraus folgendes SQL-Statement:
Code:
select xulfile0_.urn as urn2_, xulfile0_.clob as clob2_ from files xulfile0_ where xulfile0_.discriminator='Xul' and xulfile0_.urn=?
Wenn ich das in PHPMyAdmin auf meine Datenbank loslasse (wobei ich das Fragezeichen natürlich durch 'test_seite1.xml' ersetze), bekomme ich genau das Ergebnis, das ich haben will, nämlich den Datensatz von test_seite1.xml.
Mein XULServiceBean aber behauptet stets, es gebe kein Ergebnis. Hier der Code der Methode, die das Abfragen für mich erledigt:
Code:
private FileBase getData(String queryString, URI urn) {
logger.debug("Query = " + queryString + ", :name = " + urn);
Query query = entityManager.createQuery(queryString);
query.setParameter("name", "test_seite1.xml");
// query.setParameter("name", urn.toString());
return (FileBase) query.getSingleResult();
}
Ich werde nicht schlau aus dieser Sache... Kann jemand helfen?
mpG
Tobias