Hibernate Rückkehr keine Ergebnisse zeigt diese Fehler-INFO: unverbindlich factory JNDI, keine JNDI-Namen konfiguriert
Verwende ich JPA mit hibernate und versucht Verbindung zu einer Datenquelle ermittelt werden, um Informationen, aber wenn ich die Anwendung ausführen bekomme ich keine Fehler als solche, aber es werden keine Ergebnisse angezeigt, wenn ich den folgenden code ausführen.Die Frage entstand aus einem früheren post befindet sich hier, wenn ich die Einstellung wurde die Umwelt zu tun, einige Tests von JPA mit hibernate auf Glassfish.
Die log-Datei zeigt diese
INFO: Not binding factory to JNDI, no JNDI name configured
Meine Log-Datei
INFO: Processing PersistenceUnitInfo [
name: DBAppPU
...]
INFO: Binding entity from annotated class: model.VMatterDetails
INFO: Binding Named query: VMatterDetails.findAll => SELECT v FROM VMatterDetails v
INFO: Binding Named query: VMatterDetails.findByMatterInfoStatus => SELECT v FROM VMatterDetails v WHERE v.matterInfoStatus = :matterInfoStatus
INFO: Binding Named query: VMatterDetails.findByMatterInfoRespLwyr => SELECT v FROM VMatterDetails v WHERE v.matterInfoRespLwyr = :matterInfoRespLwyr
INFO: Binding Named query: VMatterDetails.findByMatterID => SELECT v FROM VMatterDetails v WHERE v.matterID = :matterID
INFO: Binding Named query: VMatterDetails.findByMatterInfoMatterNum => SELECT v FROM VMatterDetails v WHERE v.matterInfoMatterNum = :matterInfoMatterNum
INFO: Bind entity model.VMatterDetails on table vMatterDetails
INFO: Hibernate Validator not found: ignoring
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
INFO: Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
INFO: Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
INFO: Using provided datasource
INFO: RDBMS: Microsoft SQL Server, version: 10.50.1600
INFO: JDBC driver: jTDS Type 4 JDBC Driver for MS SQL Server and Sybase, version: 1.2.5
INFO: Using dialect: org.hibernate.dialect.SQLServerDialect
INFO: Disabling contextual LOB creation as JDBC driver reported JDBC version [3] less than 4
INFO: Transaction strategy: org.hibernate.ejb.transaction.JoinableCMTTransactionFactory
INFO: instantiating TransactionManagerLookup: org.hibernate.transaction.SunONETransactionManagerLookup
INFO: instantiated TransactionManagerLookup
INFO: Automatic flush during beforeCompletion(): disabled
INFO: Automatic session close at end of transaction: disabled
INFO: Scrollable result sets: enabled
INFO: JDBC3 getGeneratedKeys(): enabled
INFO: Connection release mode: auto
INFO: Default batch fetch size: 1
INFO: Generate SQL with comments: disabled
INFO: Order SQL updates by primary key: disabled
INFO: Order SQL inserts for batching: disabled
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
INFO: Using ASTQueryTranslatorFactory
INFO: Query language substitutions: {}
INFO: JPA-QL strict compliance: enabled
INFO: Second-level cache: enabled
INFO: Query cache: disabled
INFO: Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
INFO: Optimize cache for minimal puts: disabled
INFO: Structured second-level cache entries: disabled
INFO: Statistics: disabled
INFO: Deleted entity synthetic identifier rollback: disabled
INFO: Default entity-mode: pojo
INFO: Named query checking : enabled
INFO: Check Nullability in Core (should be disabled when Bean Validation is on): disabled
INFO: building session factory
INFO: Not binding factory to JNDI, no JNDI name configured
INFO: Running hbm2ddl schema update
INFO: fetching database metadata
INFO: updating schema
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
INFO: table found: DB12248.dbo.vMatterDetails
INFO: columns: [clientinfostrextra1, matterinfobudgetdisbs, addressinfohomefaxphone, addressinfocompany, addressinfoaddrline2, addressinfoaddrline1, addressinfopager, matterinfodestroydate, matterinfolasttrust, matterinfobilledrcpts, addressinfolastname, matterinfoamtquoted, addressinfoattposition, matterinfolastsoadate, matterinfobilledhours, matterinfoextracasenote2, matterinfoextracasenote1, addressinfoaddrgroup, matterinfobilleddisbs, addressinfowebpage, addressinfohomephone, clientinfoextra2, clientinfoextra1, matterinfostatus, matterinfoextracasenote5, matterinfobilladdid2, matterinfoextracasenote6, matterinfoextracasenote3, matterinfoextracasenote4, addressinfomiddle, addressinfointernetaddr, matterinfoactivematter, clientinfomatterext, matterinfosparelong2, matterinfosparelong1, lawyerid, matterinforeferredbytype, matterid, matterinfobilladdid, matterinfosortname, matterinfodefrateamt, matterinfodefratetype, matterinfodocumentpath, matterinfototfees, matterinfoformatfile, addressinfocarphone, addressinfoextra, matterinfocredithold, matterinfocasenotes, matterinfortnrbal, addressinfohomeemail, matterinfofilelocation, matterinfoextracollectnote4, addressinfocity, matterinfochargeint, matterinfoextracollectnote3, matterinfoextracollectnote6, matterinfoextracollectnote5, addressinfosuffix, matterinfoopendate, matterinfobudgetfees, matterinfoflags, clientinfosortname, clientinfoclientdefault, addressinfofirst, matterinfointerestsettings, matterinfoextracollectnote2, clientinfomatterbase, matterinfoextracollectnote1, addressinfocode, matterinfosoaformat, addressinfocountry, matterinfofiledesc, matterinforeflwyr, matterinfousedefintrate, addressinfoaddrtype, matterinfomatternum, matterinforeferredby, matterinfotypeoflaw, addressinfocellphone, matterinfocollectionnotes, clientinfodocumentpath, matterinfobilledfees, matterinfosparestring, matterinfoarbal, matterinfolastbilled, matterinfolastrcptamount, matterinfototdisbs, addressinfoattlast, matterinfototalhours, matterinfotaxdisbs, matterinfosparedouble, matterinforesplwyr, matterinfolastfeedate, matterinfointrate, addressinfobusphone, addressinfoprov, matterinfocrossreference, addressinfofaxphone, matterinfolastrcptdate, matterinfototrcpts, addressinfotitle, matterinfolastdisbdate]
INFO: foreign keys: []
INFO: indexes: [pk__vmatterd__4d8e0b1a0b5cafea]
INFO: schema update complete
INFO: JNDI InitialContext properties:{}
INFO: Portable JNDI names for EJB VMatterDetailsFacade : [java:global/DBApp/VMatterDetailsFacade, java:global/DBApp/VMatterDetailsFacade!ejb.VMatterDetailsFacadeLocal]
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
INFO: Loading application DBApp at /DBApp
INFO: DBApp was successfully deployed in 3,374 milliseconds.
INFO: Find All Executing
INFO: Find All Return
EJB bean ist
@Stateless
public class VMatterDetailsFacade implements VMatterDetailsFacadeLocal {
public static final Logger log = Logger.getLogger("ejb.VMatterDetailsFacade");
@PersistenceUnit(unitName = "DBAppPU")
private EntityManagerFactory emf;
private List<VMatterDetails> matterDetailsList;
protected EntityManager getEntityManager() {
return emf.createEntityManager();
}
@Override
public VMatterDetails find(String str) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<VMatterDetails> findAll() {
log.info("Find All Executing");
matterDetailsList = emf.createEntityManager().createNamedQuery("VMatterDetails.findAll").getResultList();
// matterDetails.addAll(em2.createNamedQuery("VMatterDetails.findAll").getResultList());
log.info("Find All Return");
return matterDetailsList;
}
@Override
public int count() {
throw new UnsupportedOperationException("Not supported yet.");
}
und meine Hartnäckigkeit xml ist
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="DBAppPU" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>matterPool12248</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update"/>
</properties>
</persistence-unit>
</persistence>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den log eingefügt zeigt keinen
ERROR
(nochFATAL
nochWARNING
- Nachricht) und die bestimmte Nachricht zeigen Sie uns nur sagen Sie, dass Sie nicht binden Sie dasSessionFactory
zu JNDI. Es ist nichts falsch mit, dass viele Anwendungen nicht mit einem JNDI gebunden SessionFactory und das ist nicht wirklich relevant bei der Verwendung von JPA sowieso. Also einfach ignorieren dieseINFO
rmational Nachricht.Eigentlich, laut log-Datei, sieht alles gut aus: Ihre Entitäten erkannt wurden, die benannten Abfragen verarbeitet werden, wird das schema aktualisiert wurde (so wird die Verbindung zur DB ist OK), usw.
Dass gesagt wird, ich würde zuerst das SQL-logging aktivieren um zu sehen, was passiert genau (das wird nicht das problem lösen, aber immer noch). Sie können entweder legen Sie die folgende Eigenschaft in Ihrem
persistence.xml
:Oder (und ich bevorzugen diese option, weil ich will feine Kontrolle über die Protokollierung sowieso), indem Sie den logging level auf debug für folgende Kategorie:
Und führen Sie das generierte SQL gegen die Datenbank.
Zweite Sache, ich schlage vor, mit einem injizierten container-managed
EntityManager
anstelle der Verwendung einer Anwendung verwaltetEntityManager
(das ist der bevorzugte Weg zu gehen, in einer verwalteten Umgebung):Aber wieder, dies ist nur eine Randnotiz, ist das nicht Ihr problem lösen.
Beginnen Sie mit der überprüfung der generierten SQL und aktualisieren Sie Ihre Frage mit dem Ergebnis. Wenn die Abfrage Daten liefert, bitte sagen Sie uns, wie Sie überprüft haben, dass die bean-Methode nicht funktioniert.
Referenzen