在线等待 Spring + Hiberate 表不存在问题?

浪漫罪名 2011-11-02 01:26:19
配置文件 applicationContext.xml:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@192.168.0.165:1521:oradb" />
<property name="username" value="idinfo" />
<property name="password" value="idinfo" />
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource"><ref bean="dataSource" /></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
</props>
</property>
<property name="annotatedClasses">
<list>
<value>com.tseal.persistence.Seal</value>
</list>
</property>
</bean>

实体类 Seal :

@Table(name = "tb_seal", catalog = "etseal")
public class Seal
{
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name="id",length=40)
public Integer getId()
{
return this.id;
}
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "createDate", nullable = false, length = 19)
public Date getCreateDate()
{
return this.createDate;
}

@Temporal(TemporalType.TIMESTAMP)
@Column(name = "updateDate", nullable = false, length = 19)
public Date getUpdateDate()
{
return this.updateDate;
}

@Column(name = "imgName", nullable = false, length = 75)
public String getImgName()
{
return this.imgName;
}


@Column(name = "thumbnail", nullable = false, length = 75)
public String getThumbnail()
{
return this.thumbnail;
}

@Column(name = "createUser", length = 20)
public String getCreateUser()
{
return this.createUser;
}

@Column(name = "updateUser", length = 20)
public String getUpdateUser()
{
return this.updateUser;
}

@Column(name = "sealName", nullable = false, length = 75)
public String getSealName()
{
return this.sealName;
}

@Column(name = "activesStatus", length = 1)
public String getActivesStatus()
{
return this.activesStatus;
}


@Column(name = "isRemote", length = 1)
public String getIsRemote()
{
return this.isRemote;
}

@Column(name = "width", length = 5)
public String getWidth()
{
return this.width;
}

@Column(name = "height", length = 5)
public String getHeight()
{
return this.height;
}
}

DAO 类:

String queryString= "select count(*) from Seal seal where seal.activesStatus = 1 order by seal.updateDate desc";

List list = getHibernateTemplate().find(queryString);


执行 getHibernateTemplate().find(queryString) 时报:

Caused by: org.hibernate.exception.SQLGrammarException: could not execute query
Caused by: java.sql.SQLException: ORA-00942: table or view does not exist

这个错误。

请问这可能是什么问题?
...全文
78 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
浪漫罪名 2011-11-02
  • 打赏
  • 举报
回复
表是数据库中是存在的
chabale 2011-11-02
  • 打赏
  • 举报
回复
Caused by: java.sql.SQLException: ORA-00942: table or view does not exist
说你表不存在,看看数据库有没有@Table(name = "tb_seal", catalog = "etseal")这张表
浪漫罪名 2011-11-02
  • 打赏
  • 举报
回复
我原先是用 Mysql 的没问题,后来换成 Oracle 就出现这个问题了
浪漫罪名 2011-11-02
  • 打赏
  • 举报
回复
Caused by: 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 org.springframework.orm.hibernate3.HibernateTemplate$30.doInHibernate(HibernateTemplate.java:926)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
... 120 more
Caused by: java.sql.SQLException: ORA-00942: table or view does not exist

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:799)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1039)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:839)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1132)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3329)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
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)
... 129 more
mhshran5408 2011-11-02
  • 打赏
  • 举报
回复
不能执行查询 是不是数据库中的某一个数据不规范啊 我用mysql出现过这样的问题 不过oracle没用过 不会是配置文件的问题 配置文件出错不会报这的 配置文件和实体类应该没事 你用的是tomcat吗? 如果用的是tomcat建议配置一下打印日志的文件 看看执行到那错了

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧