4

メインクラスを実行すると、このエラーが発生しました。テーブルポートフォリオに新しいレコードを挿入しようとしています。ご覧のとおり、これを行うためにHibernateORMモデルを使用しています。また、データベースへの接続を問題なく実行している休止状態と言ってもよいでしょう。

Exception in thread "main" org.hibernate.MappingException: Unknown entity: com.nortal.vspa.model.Portfolio
at org.hibernate.internal.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:1129)
at org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.java:1402)
at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:117)
at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:204)
at org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55)
at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:189)
at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:49)
at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90)
at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:756)
at org.hibernate.internal.SessionImpl.save(SessionImpl.java:748)
at org.hibernate.internal.SessionImpl.save(SessionImpl.java:744)
at com.nortal.vspa.main.Main.main(Main.java:24)

エンティティクラス:

@Entity
@Table(name="portfolio")
public class Portfolio implements Serializable {

private static final long serialVersionUID = -1136208004146721604L;

@Id
@Column(name="symbol")
private String symbol;

public String getSymbol()
{
    return symbol;
}

public void setSymbol(String symbol)
{
    this.symbol = symbol;
}
}

メインクラス:

public class Main {

/**
 * @param args
 */
public static void main(String[] args) {

     Session session =  HibernateUtil.getSessionFactory().openSession();
     session.beginTransaction();
    Portfolio portfolio = new Portfolio();

    portfolio.setSymbol("MB");

    session.save(portfolio);
    session.getTransaction().commit();

}

}
4

2 に答える 2

25

Hibernate 構成ファイルには、エンティティ クラスをリストする必要があります。

<mapping class="com.foo.bar.Portfolio"/>

または、クラスを明示的に構成に追加する必要があります

configuration.addClass(com.foo.bar.Portfolio.class)
于 2012-12-02T09:46:49.410 に答える