2011-06-30 17 views
0

私は春+とのトラブルのビットがエラーに
org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: com.rottmanj.domain.user.UserAccount; nested exception is org.hibernate.MappingException: Unknown entity: com.rottmanj.domain.user.UserAccount春/休止状態/フレックス=不明エンティティ

を投げ休止持っています、私はこのコードをデバッグしていると問題を研究してきたが、それはそのすべて正常に見えますこの問題の修正を掲載しても私にとってはうまくいきません。これに関する助けがあれば大歓迎です。

私はこのDAOを正しく保存する必要がありますが、代わりに上記のエラーがスローされます。

@Override 
public UserAccount save(UserAccount obj) 
{ 
    List<UserAccount> userList = template.findByExample(obj); 
    try { 
     if (!userList.isEmpty()) { 
      throw new Exception(
        "A user with these credentials already exists. Please try again."); 
     } else { 
      template.saveOrUpdate(obj); 
     } 
    } catch (Exception e) { 
     logger.debug(e.toString()); 
    } 

    return obj; 
} 

このサービスは、以下のサービスによって呼び出されます。このサービスは、リモーティング先として公開されています。

@Service 
@RemotingDestination(channels = { "my-amf" }) 
public class UserAccountService { 

private UserAccountDAO dao = null; 
private static Logger logger = Logger.getLogger(UserAccountService.class); 

@Autowired 
public void setDao(UserAccountDAO dao) 
{ 
    this.dao = dao; 
} 

@RemotingInclude 
public UserAccount save(UserAccount dataObject) 
{ 
    return this.dao.save(dataObject); 
} 

@RemotingInclude 
public String test(String dataString) 
{ 
    logger.debug(dataString.toString()); 
    return "This is a Test for " + dataString; 
} 
} 

My Entityにはアノテーションが付けられているため、マッピングファイルは使用されません。また、私は正しい注釈のlibに(輸入javax.persistence.Entity)を使用しています

package com.rottmanj.domain.user; 

import java.util.HashSet; 
import java.util.Set; 
import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.FetchType; 
import javax.persistence.GeneratedValue; 
import static javax.persistence.GenerationType.IDENTITY; 
import javax.persistence.Id; 
import javax.persistence.OneToMany; 
import javax.persistence.Table; 
import javax.persistence.UniqueConstraint; 

@Entity 
@Table(name = "UserAccount", uniqueConstraints = @UniqueConstraint(columnNames =  "UserName")) 
public class UserAccount implements java.io.Serializable { 
    ...entity cdoe 
} 

答えて

1

スキャンが行われるように、このパッケージ(またはクラス)の存在についてのバネ構成ファイルまたはハイバーネーションマッピングファイルを指定する必要があります。例えば、 SpringからAnnotationSessionFactoryBeanを使用している場合、 "packagesToScan"プロパティをインクルードして、スキャンするパッケージを指定する必要があります。

これが既に行われている場合は、Hibernateに関連するスプリング構成ファイルを添付できますか?

+0

Rajasaur、あなたは正しいです。私はこれを完全に空白にして、私のsessionFactory packagesToScanを間違ったパッケージに設定しました。 – rottmanj

1

はあなたのpersistence.xmlでUserAccountのが含まれていることを確認していますか?それは通常、私が見る最初の場所です。