あなたが思うほどクレイジーではありません。はい、ここにいるすべての休止状態の人々は、休止状態の構成を容易にするためにSpringまたはMavenまたは非常に優れたツールを使用しているため、SOから回答を得るのは困難です。
これが私がしたことです。
すべてのライブラリをクラスパスにコピーしました。src フォルダーに hibernate.properties および hibernate.xml ファイルを作成しました。
プロパティファイルには
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hsqldb.write_delay_millis=0
shutdown=true
hibernate.connection.pool_size=2
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
Javaメインでは、mysqlサーバー、ユーザー名、およびパスワードをプログラムで指定できます( SOの助けがほとんどなく、この気の毒なことを機能させるのに2日かかったことに注意してください)。
synchronized (this) {
if (sessionFactory == null) {
try {
String connection = "jdbc:mysql://"
+ Globals.DBSERVER.trim()
+ "/mCruiseOnServerDB?autoReconnect=true&failOverReadOnly=false&maxReconnects=10";
log.debug("Connection URL "+connection) ;
Configuration configuration = new Configuration();
configuration
.setProperty("hibernate.connection.username", Globals.DB_USER_NAME.trim())
.setProperty("hibernate.connection.password", Globals.DB_PASSWORD.trim());
configuration.configure();
sessionFactory = configuration
.buildSessionFactory(new ServiceRegistryBuilder()
.applySettings(configuration.getProperties())
.buildServiceRegistry());
} catch (Exception e) {
log.fatal("Unable to create SessionFactory for Hibernate");
log.fatal(e.getMessage());
log.fatal(e);
e.printStackTrace();
}
}
if (sessionFactory == null) {
log.fatal("Hibernate not configured.");
System.exit(0);
}
XML ファイルには
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- other mappings -->
<mapping resource="com/mcruiseon/server/hibernate/UserDetails.hbm.xml" />
</session-factory>
</hibernate-configuration>
これらの hbm.xml ファイルがフォルダー (src 内) com.mcruiseon.server.hibernate (場合によっては /carpool) にあることを確認してください。
同じフォルダーには、hbm ファイルに対応する POJO も必要です。変数名とまったく同じ db 列名を維持することをお勧めします(一部の愚かな人々がアドバイスすることに反して)。t_age
代わりに使用するような名前を使用しage
ないでください (頭字語は使用しないでください)。
hbm ファイルの例
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- Generated 9 Jun, 2010 11:14:41 PM by Hibernate Tools 3.3.0.GA -->
<hibernate-mapping>
<class name="com.mcruiseon.common.concrete.UserDetailsConcrete"
table="userDetails">
<id name="identityHash" type="java.lang.String">
<column name="identityHash" />
<generator class="assigned" />
</id>
<property name="fullName" type="java.lang.String">
<column name="fullName" />
</property>
<!-- other property -->
</class>
</hibernate-mapping>
com/mcruiseon/common/concrete フォルダーに UserDetailsConcrete を作成します。
すべての変数がプライベートであることを確認してください (identityHash、fullName など)。ゲッターとセッターがすべて公開されていることを確認してください。実際には自動生成します(Eclipseをお持ちの場合は申し訳ありません)。スペルミスや大文字小文字の間違いはいけません。コピペして確認。
あなたはそれを働かせる必要があります。