Hibernate + Spring异常:未知实体 [英] Hibernate + Spring exception: Unknown Entity
本文介绍了Hibernate + Spring异常:未知实体的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我不知道如何解决它。我是冬眠和春天的新手。
SEVERE:上下文初始化失败
org.springframework.beans.factory.BeanCreationException:创建bean时出错在URL中定义名称'authenticationMgr'[jar:file:/ C:/ Program%20Files%20(x86)/Apache%20Software%20Foundation/Tomcat%207.0/webapps/ROOT/WEB-INF/lib/dbservice-1.0- SNAPSHOT.jar!/ApplicationContext-Service.xml]:设置属性值时出错;嵌套异常是org.springframework.beans.PropertyBatchUpdateException;嵌套PropertyAccessExceptions(1)是:
PropertyAccessException 1:org.springframework.beans.MethodInvocationException:Property'authenticationDao'引发异常;嵌套异常是org.springframework.orm.hibernate3.HibernateSystemException:未知实体:com.jsi.core.dbservice.model.Authentication;嵌套异常是org.hibernate.MappingException:未知实体:com.jsi.core.dbservice.model.Authentication
在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1361)$ b在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
$ b在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.fact org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)上的
org.springframework.beans上的
。在org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:871)上
在org.springframework.context.support上
。 AbstractApplicationContext.refresh(AbstractApplicationContext.java:423)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext( ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(Standard
at org.apache.catalina.core.StandardContext $ 1.call(StandardContext.java:5184)
at org.apache.catalina.core.StandardContext $ 1.call(StandardContext。 java:5179)
at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
在java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:885)$ b $在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:907)$ b $在Java .lang.Thread.run(Thread.java:619)
引起:org.springframework.beans.PropertyBatchUpdateException;嵌套PropertyAccessExceptions(1)是:
PropertyAccessException 1:org.springframework.beans.MethodInvocationException:Property'authenticationDao'引发异常;嵌套异常是org.springframework.orm.hibernate3.HibernateSystemException:未知实体:com.jsi.core.dbservice.model.Authentication;嵌套异常是org.hibernate.MappingException:未知实体:com.jsi.core.dbservice.model.Authentication
在org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:102)
在org .springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:58)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1358)
... 21 more
认证实体
/ **
*认证实体 - 数据库表的表示
* /
import javax.persistence。*;
import java.io.Serializable;
import java.util.Date;
@Entity
@Table(name =t_authentication)
public class Authentication extends LongBaseEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name =auth_id)
private长度为mAuthId;
@Column(name =authentication_id)
private长度mAuthenticationId;
@Column(name =tcn)
私人长期mTcn;
@Column(name =audit_comment)
private String mAuditComment;
@Column(name =last_timestamp)
私人日期mLastTimeStamp;
@Column(name =user_id)
private long mUserId;
@Column(name =authentication_date)
私人日期mAuthenticationDate;
@Column(name =hostname)
private String mHostname;
@Column(name =ip_address)
private String mIpAddress;
@Column(name =referrer_url)
private String mReferrerURL;
@Column(name =session_id)
private String mSessionId;
public Long getAuthId(){
return mAuthId;
}
public void setAuthId(Long pAuthId){
this.mAuthId = pAuthId;
mId = pAuthId;
}
public Long getAuthenticationId(){
return mAuthenticationId;
}
public void setAuthenticationId(Long pAuthenticationId){
this.mAuthenticationId = pAuthenticationId;
}
public Long getTcn(){
return mTcn;
}
public void setTcn(Long pTcn){
this.mTcn = pTcn;
}
public String getAuditComment(){
return mAuditComment;
}
public void setAuditComment(String pAuditComment){
this.mAuditComment = pAuditComment;
}
public Date getLastTimeStamp(){
return mLastTimeStamp;
}
public void setLastTimeStamp(Date pLastTimeStamp){
this.mLastTimeStamp = pLastTimeStamp;
}
public Long getUserId(){
return mUserId;
}
public void setUserId(Long pUserId){
this.mUserId = pUserId;
}
public Date getAuthenticationDate(){
return mAuthenticationDate;
}
public void setAuthenticationDate(Date pAuthenticationDate){
this.mAuthenticationDate = pAuthenticationDate;
}
public String getHostname(){
return mHostname;
}
public void setHostname(String phostname){
this.mHostname = pHostname;
}
public String getIpAddress(){
return mIpAddress;
}
public void setIpAddress(String pIpAddress){
this.mIpAddress = pIpAddress;
}
public String getReferrerURL(){
return mReferrerURL;
}
public void setReferrerURL(String pReferrerURL){
this.mReferrerURL = pReferrerURL;
}
public String getSessionId(){
return mSessionId;
}
public void setSessionId(String pSessionId){
this.mSessionId = pSessionId;
$ b $ public String toString(){
returnPayment {+
mId =+ getId()+
,mIpaddress = + mIpAddress +
'}';
}
}
DAO类:
/ **
* AuthenticationMgr DAO层的实现。
*
* /
import com.jsi.core.dbservice.model.Authentication;
import com.jsi.core.dbservice.model.JSIException;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import java.sql.SQLException;
import java.util.List;
public class AuthenticationDao extends HibernateDaoSupport implements IAuthenticationDao {
@Override
public List< Authentication> list(){
final String query =从a.id desc中选择一个来自认证的订单;
return(List< Authentication>)getHibernateTemplate()。executeFind(new HibernateCallback(){
public Object doInHibernate(Session session)抛出HibernateException,SQLException {
return session.createQuery(query)。 list();
}
});
}
@Override
public void save(Authentication authentication)throws JSIException {
getHibernateTemplate()。save(authentication);
}
@Override
public认证负载(Long id){
return getHibernateTemplate()。load(Authentication.class,id);
$ b @Override
public void update(Authentication authentication)throws JSIException {
getHibernateTemplate()。update(authentication);
@Override
public void delete(Long id){
getHibernateTemplate()。delete(load(id));
}
}
解决方案
谢谢每个人的回复。我设法解决它。这是我的错误。
< hibernate-configuration>
< session-factory>
< mapping class =com.model.Authentication/> //我错过了这一行。我添加后。它工作得很好。
< / session-factory>
< / hibernate-configuration>
再次感谢。
i am getting exception while the server starts. (Server is started using Intelij IDE). i have no idea how to fix it. i am new to hibernate and spring. thanks in advance.
SEVERE: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authenticationMgr' defined in URL [jar:file:/C:/Program%20Files%20(x86)/Apache%20Software%20Foundation/Tomcat%207.0/webapps/ROOT/WEB-INF/lib/dbservice-1.0-SNAPSHOT.jar!/ApplicationContext-Service.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'authenticationDao' threw exception; nested exception is org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: com.jsi.core.dbservice.model.Authentication; nested exception is org.hibernate.MappingException: Unknown entity: com.jsi.core.dbservice.model.Authentication
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1361)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:871)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4681)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5184)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5179)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'authenticationDao' threw exception; nested exception is org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: com.jsi.core.dbservice.model.Authentication; nested exception is org.hibernate.MappingException: Unknown entity: com.jsi.core.dbservice.model.Authentication
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:102)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:58)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1358)
... 21 more
Authentication entity
/**
* Authentication Entity - Representation of the db table
*/
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
@Entity
@Table(name = "t_authentication")
public class Authentication extends LongBaseEntity implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "auth_id")
private Long mAuthId;
@Column(name = "authentication_id")
private Long mAuthenticationId;
@Column(name = "tcn")
private Long mTcn;
@Column(name = "audit_comment")
private String mAuditComment;
@Column(name = "last_timestamp")
private Date mLastTimeStamp;
@Column(name = "user_id")
private Long mUserId;
@Column(name = "authentication_date")
private Date mAuthenticationDate;
@Column(name = "hostname")
private String mHostname;
@Column(name = "ip_address")
private String mIpAddress;
@Column(name = "referrer_url")
private String mReferrerURL;
@Column(name = "session_id")
private String mSessionId;
public Long getAuthId() {
return mAuthId;
}
public void setAuthId(Long pAuthId) {
this.mAuthId = pAuthId;
mId = pAuthId;
}
public Long getAuthenticationId() {
return mAuthenticationId;
}
public void setAuthenticationId(Long pAuthenticationId) {
this.mAuthenticationId = pAuthenticationId;
}
public Long getTcn() {
return mTcn;
}
public void setTcn(Long pTcn) {
this.mTcn = pTcn;
}
public String getAuditComment() {
return mAuditComment;
}
public void setAuditComment(String pAuditComment) {
this.mAuditComment = pAuditComment;
}
public Date getLastTimeStamp() {
return mLastTimeStamp;
}
public void setLastTimeStamp(Date pLastTimeStamp) {
this.mLastTimeStamp = pLastTimeStamp;
}
public Long getUserId() {
return mUserId;
}
public void setUserId(Long pUserId) {
this.mUserId = pUserId;
}
public Date getAuthenticationDate() {
return mAuthenticationDate;
}
public void setAuthenticationDate(Date pAuthenticationDate) {
this.mAuthenticationDate = pAuthenticationDate;
}
public String getHostname() {
return mHostname;
}
public void setHostname(String pHostname) {
this.mHostname = pHostname;
}
public String getIpAddress() {
return mIpAddress;
}
public void setIpAddress(String pIpAddress) {
this.mIpAddress = pIpAddress;
}
public String getReferrerURL() {
return mReferrerURL;
}
public void setReferrerURL(String pReferrerURL) {
this.mReferrerURL = pReferrerURL;
}
public String getSessionId() {
return mSessionId;
}
public void setSessionId(String pSessionId) {
this.mSessionId = pSessionId;
}
public String toString() {
return "Payment{" +
"mId=" + getId() +
", mIpaddress=" + mIpAddress +
'}';
}
}
DAO class:
/**
* Implementation for AuthenticationMgr DAO layer.
*
*/
import com.jsi.core.dbservice.model.Authentication;
import com.jsi.core.dbservice.model.JSIException;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import java.sql.SQLException;
import java.util.List;
public class AuthenticationDao extends HibernateDaoSupport implements IAuthenticationDao {
@Override
public List<Authentication> list() {
final String query = "Select a from Authentication a order by a.id desc";
return (List<Authentication>) getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
return session.createQuery(query).list();
}
});
}
@Override
public void save(Authentication authentication) throws JSIException {
getHibernateTemplate().save(authentication);
}
@Override
public Authentication load(Long id) {
return getHibernateTemplate().load(Authentication.class, id);
}
@Override
public void update(Authentication authentication) throws JSIException {
getHibernateTemplate().update(authentication);
}
@Override
public void delete(Long id) {
getHibernateTemplate().delete(load(id));
}
}
解决方案
thanks everyone for your reply. i managed to solve it. it was my mistake. i forgot to add the mapping tag in xml.
<hibernate-configuration>
<session-factory>
<mapping class="com.model.Authentication"/> // i missed this line. after i added it. it worked fine.
</session-factory>
</hibernate-configuration>
thanks again.
这篇关于Hibernate + Spring异常:未知实体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文