我正在尝试从现有数据库中获取信息。
的hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate- configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc:postgresql://localhost:5432/ecm_politik_mt</property>
<property name="connection.username">ecm</property>
<property name="connection.password">ecm</property>
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
<property name="current_session_context_class">thread</property>
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
<mapping class="com.database.Survey_question" />
</session-factory>
</hibernate-configuration>
我尝试映射的实体:
package com.database;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "survey_question")
public class Survey_question implements Serializable {
@Id
@GeneratedValue
@Column(name = "id")
private Integer id;
@Column(name = "freetext")
private boolean freetext;
@Column(name = "idx")
private Integer idx;
@Column(name = "mandatory")
private boolean mandatory;
@Column(name = "multiplechoice")
private boolean multiplechoice;
@Column(name = "title")
private String title;
@Column(name = "sheet_id")
private Integer sheet_id;
public Survey_question() {
}
public boolean getFreetext() {
return freetext;
}
public void setFreetext(boolean freetext) {
this.freetext = freetext;
}
public Integer getIdx() {
return idx;
}
public void setIdx(Integer idx) {
this.idx = idx;
}
public boolean getMandatory() {
return mandatory;
}
public void setMandatory(boolean mandatory) {
this.mandatory = mandatory;
}
public boolean getMultiplechoice() {
return multiplechoice;
}
public void setMultiplechoice(boolean multiplechoice) {
this.multiplechoice = multiplechoice;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Integer getSheet_id() {
return sheet_id;
}
public void setSheet_id(Integer sheet_id) {
this.sheet_id = sheet_id;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Override
public String toString() {
return "Question [freetext=" + freetext + ", idx=" + idx
+ ", mandatory=" + mandatory + ", multiplechoice="
+ multiplechoice + ", title=" + title + ", sheet_id="
+ sheet_id + "]";
}
}
查询:
Query query = session.createQuery("from Survey_question");
List<Survey_question> list = query.list();
Iterator<Survey_question> iter = list.iterator();
while (iter.hasNext()) {
Survey_question q = iter.next();
System.out.println(q.toString());
}
}
我收到错误:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Dez 19, 2013 5:52:40 PM org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.2.4.sp1
Dez 19, 2013 5:52:40 PM org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
Dez 19, 2013 5:52:40 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
Dez 19, 2013 5:52:40 PM org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.Configuration configure
INFO: configuring from resource: /hibernate.cfg.xml
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: Configuration resource: /hibernate.cfg.xml
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.Configuration doConfigure
INFO: Configured SessionFactory: null
Dez 19, 2013 5:52:41 PM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
Dez 19, 2013 5:52:41 PM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 20
Dez 19, 2013 5:52:41 PM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
Dez 19, 2013 5:52:41 PM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: org.postgresql.Driver at URL: jdbc:postgresql://localhost:5432/ecm_politik_mt
Dez 19, 2013 5:52:41 PM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=ecm, password=****}
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: RDBMS: PostgreSQL, version: 9.3.2
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC driver: PostgreSQL Native Driver, version: PostgreSQL 9.3 JDBC4.1 (build 1100)
Dez 19, 2013 5:52:41 PM org.hibernate.dialect.Dialect <init>
INFO: Using dialect: org.hibernate.dialect.PostgreSQLDialect
Dez 19, 2013 5:52:41 PM org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory
Dez 19, 2013 5:52:41 PM org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic flush during beforeCompletion(): disabled
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic session close at end of transaction: disabled
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch size: 15
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch updates for versioned data: disabled
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Scrollable result sets: enabled
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC3 getGeneratedKeys(): enabled
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Connection release mode: auto
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default batch fetch size: 1
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Generate SQL with comments: disabled
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL updates by primary key: disabled
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL inserts for batching: disabled
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
Dez 19, 2013 5:52:41 PM org.hibernate.hql.ast.ASTQueryTranslatorFactory <init>
INFO: Using ASTQueryTranslatorFactory
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JPA-QL strict compliance: disabled
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Second-level cache: enabled
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query cache: disabled
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory createCacheProvider
INFO: Cache provider: org.hibernate.cache.EhCacheProvider
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache for minimal puts: disabled
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Structured second-level cache entries: disabled
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Statistics: disabled
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Deleted entity synthetic identifier rollback: disabled
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default entity-mode: pojo
Dez 19, 2013 5:52:41 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Named query checking : enabled
Dez 19, 2013 5:52:41 PM org.hibernate.impl.SessionFactoryImpl <init>
INFO: building session factory
Dez 19, 2013 5:52:42 PM org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Not binding factory to JNDI, no JNDI name configured
Dez 19, 2013 5:52:42 PM org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 0, SQLState: 42703
Dez 19, 2013 5:52:42 PM org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: ERROR: Column survey_que0_.id does not exist
Position: 8
Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2223)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at com.database.SurveyMain.showEntries(SurveyMain.java:23)
at com.database.SurveyMain.main(SurveyMain.java:14)
Caused by: org.postgresql.util.PSQLException: ERROR: Column survey_que0_.id does not exist
Position: 8
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:560)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
at org.hibernate.loader.Loader.doQuery(Loader.java:674)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
... 9 more
我不明白为什么它在搜索“survey_que0_.id”。