1

DataNucleus HBase チュートリアルに従おうとすると、例外が発生します (「javax.jdo.PersistenceManagerFactoryClass という名前のプロパティを指定する必要があります」) 。

私の datanucleus.properties ファイル (以下) はそのようなプロパティを指定していませんが、チュートリアルもDataNucleus HBase サンプルも指定していません。

3.1サンプルを見つけた後に編集:

src/main/resources/datanucleus.properties

javax.jdo.option.ConnectionURL=hbase:hx1:60010
javax.jdo.option.Mapping=hbase

datanucleus.metadata.validate=false
datanucleus.autoCreateSchema=true
datanucleus.validateTables=false
datanucleus.validateConstraints=false

src/main/java/hbase-site.xml

<?xml version="1.0"?>

<configuration> 
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>hx1:2181</value>
    <description>The host and port that the HBase master runs at.
    </description>
  </property>
</configuration>

src/main/com.business.model/package-hbase.xml

<?xml version="1.0"?>
<!DOCTYPE orm PUBLIC 
    "-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 2.0//EN" 
    "http://java.sun.com/dtd/orm_2_0.dtd">
<orm>
    <package name="com.business.model">
        <class name="Recommendation" table="Recommendations">
            <field name="id" column="ID"/>
            <field name="documents" column="DOCUMENTS"/>
        </class>

        <class name="Document">
            <field name="id" column="ID"/>
            <field name="title" column="TITLE"/>
        </class>
    </package>
</orm>

私が見逃しているアイデアはありますか?JPAで数年間働いた後、私はJDOを初めて使用します。

4

1 に答える 1

6

HBase チュートリアルを試したことはありませんが、javax.jdo.PersistenceManagerFactoryClass プロパティを定義する必要があります。私のものはpersistence.xmlファイル(src/main/resources)で定義されています。プロパティ定義:

<property name="javax.jdo.PersistenceManagerFactoryClass"
            value="org.datanucleus.api.jdo.JDOPersistenceManagerFactory" />

このプロパティは、PMF の作成時にも定義できます。

詳細はhttp://db.apache.org/jdo/pmf.htmlにあります。

于 2012-09-26T12:24:52.377 に答える