2012-03-11 10 views
1

非常に無制限のString(ドキュメント)を格納する必要があり、長さを判断できません。私はCLOBがあることを知っていますが、JPAだけでJDOの実装が見つかりませんでした。JDO @ DataNucleusの無制限の文字列ですか? (H2 DB)

@Column(jdbcType="CLOB") 
private String contents = ""; 

しかし、私は、スキーマ検証ツールを実行したときに私が受け取る::

は、私はそれを試してみました

例外はSchemaToolの操作中にスローされました。詳細については、ログを参照してください。 SCENE.CONTENTS列の互換性のないデータ型:VARCHAR(データストア)でしたが、予想される型はCLOB(メタデータ)でした。データストア内の型とMetaDataで指定された型が一貫していることを確認してください。

私は基本的な何かが欠けする必要があります...

答えて

2

あなたはJDOでCLOBを見つけることができませんでしたか? JDOでは "jdbc-type"を定義することができるので、すべてのタイプの型を持つことができます。 JPAでは、非常に限られたセットを持っています

+0

ええ、JDBCタイプをCLOBに設定しようとしましたが、何の効果もなく、文字列が長すぎます(256文字以上)、正しい方法はStringをJDOアノテーションを持つCLOBとして定義するには? – Paul

+0

jdbc-type = "clob"明らかに、JDOの仕様とドキュメントに従って。しかし、あなたのテーブルにすでにVARCHAR(256)が定義されていれば、無意味です。あなたはその詳細を提供しません – DataNucleus

+0

まあ、私はそれを定義していない、それはすべての自動datanucleusのものです。 私は以下を使用しています: @Column(jdbcType = "CLOB") String contents = ""; 変更後にスキーマを削除していました。 – Paul

関連する問題