[解決済み] hibernate のプロパティが見つかりません。
質問
java blazeds hibernateをflexプロジェクトに統合しています。まず、eclipseで純粋なjava hibernateをテストしましたが、うまく実行されました。しかし、同じものをフレックスとblazedsの統合のためにtomcatに入れたところ、次のエラーが表示されました。
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.2.6
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Configuration configure
INFO: configuring from resource: /hibernate.cfg.xml
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Configuration getConfigurationInputSt
ream
INFO: Configuration resource: /hibernate.cfg.xml
これがhibernate.cfg.xmlです(hibernate.cfg.xmlが見つからないかどうかを確認するために.cfg.xmlのDOCTYPEを削除してテストしたら、ルート要素が見つからないとtomcatに出力されました...つまり、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:mysql://localhost/test</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<property name="current_session_context_class">thread</property>
<mapping class="com.model.User" />
<mapping class="com.model.UserDetails" />
<mapping class="com.model.LoanDetails" />
<mapping class="com.model.BorrowerDetails" />
</session-factory>
</hibernate-configuration>
これは hiberutil.java です。
public class HibernateUtil
{
private static SessionFactory sessionFactory=configureSessionFactory();
private static ServiceRegistry serviceRegistry;
private static SessionFactory configureSessionFactory() throws HibernateException {
Configuration configuration = new Configuration();
configuration.configure();
serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
return sessionFactory;
}
public static SessionFactory getSessionFactory()
{
return sessionFactory;
}
}
フレックス側からコントロールが来て、Javaメソッドの開始点を実行するのですが、ハイバーネートのものを実行すると、tomcatでこのエラーが表示されます...。
しかし、純粋なJavaアプリケーションとしてjava+hibernateを実行すると、正常に実行されています。
どなたか教えてください。
ありがとうございます
EDIT 1 @Andremoniy が提案した修正と .cfg.xml を src フォルダに置き、ここでも eclipse では動きましたが、tomcat と flex では動きません。
次のようなエラーが発生します。
org.hibernate.MappingException: An AnnotationConfiguration instance is required
to use <mapping class="com.model.User"/>
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.jav
a:1606)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.jav
a:1561)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1540)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1514)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1434)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1420)
at com.sample.HibernateUtil.configureSessionFactory(HibernateUtil
.java:26)
at com.sample.HibernateUtil.<clinit>(HibernateUtil.java:20)
at com.sample.App.checkUser(App.java:34)
解決方法は?
の設定用コードに問題があるのでしょう。
.hbm.xml
がTomcatで動作していない可能性があります。
が必要だと思います。
AnnotationConfiguration
オブジェクトを作成します。のため、このコードを使ったのでしょう。
Annotationconfiguration
オブジェクトの作成がうまくいきません。
pom を使用して maven hibernate プロジェクトを作成し、以下のようにエクスポートします。
war
ファイルを Tomcat に転送します(その際
Annotationconfiguration
). また、Tomcatの実行の詳細をデバッグ出力で表示するためにlog4jarを使用し、Tomcatの出力に実行の流れを全て表示するようにします。
関連
-
[解決済み】エラー:'if'のない'else'エラー
-
[解決済み】StringUtils.isBlank() vs String.isEmpty()
-
[解決済み] メソッドがスーパータイプのメソッドをオーバーライドまたは実装していない - Overrideの場合
-
[解決済み】Eclipseがエラーメッセージ "Java was started but returned exit code = 1" を返す
-
[解決済み】メソッド本体がない、またはJavaで抽象的な宣言をする
-
[解決済み】文字列中の � を置換する方法
-
[解決済み】純粋なJUnitテストにVisibleForTestingを使用する方法
-
[解決済み】Java LinkedListでNodesを使用する
-
[解決済み] JavaでSSLピアが正しくシャットダウンされない
-
[解決済み】Javaの未処理例外について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"比較メソッドはその一般契約に違反する!"
-
[解決済み] メソッドがそのスーパークラスのメソッドをオーバーライドしない
-
[解決済み】JLabelのテキストを中央に配置するには?
-
[解決済み】Eclipseで「公開型 <<classname>> は独自のファイルで定義する必要があります」エラー【重複あり
-
[解決済み】Javaメソッドスタブ
-
[解決済み】Java LinkedListでNodesを使用する
-
[解決済み] Hide Utility Class Constructor : ユーティリティクラスはパブリックまたはデフォルトコンストラクタを持つべきではありません。
-
[解決済み】予期しない型エラー
-
[解決済み】Java: GZIPInputStreamの作成に失敗しました。GZIP形式ではありません
-
[解決済み】koch snowflake java recursion