私はHibernateの世界ではかなり新しいです。 ER CASE TOOL(TOAD)データベースを使用してモデル化し、いくつかのユーザーデータ型(複合型)を定義しました。例えば、私はタイプの接触が ユーザーデータ型(コンポジット型)とHibernateのマッピング方法
CREATE TYPE Contact AS
("email" Varchar,
"phone" Varchar,
"mobile" Varchar,
"other" Varchar);
今すぐ次のSQLコード
CREATE TABLE Users(
idUser Serial NOT NULL,
login Character varying(20) NOT NULL,
password Character varying(20) NOT NULL,
name Character varying(30),
surname Character varying(50),
contact Contact
)
-- Add keys for table Users
ALTER TABLE Users ADD CONSTRAINT pkIdUser PRIMARY KEY (idUser)
;
に私が設定して行うために、Hibernateのツールを使用していたように私は、ユーザーエンティティにそれを使用する前提とPostgreSQLの
に従うように宣言があるとしERモデルのリバースエンジニアリングですが、カスタムタイプとしてではなくシリアライズ可能なものとしてマップされているため、Contactユーザータイプの定義に問題があります。コンタクトHibernate UserTypeを定義し、その逆に変更することです。xmlファイルをHibernateツール.....しかし私はUserTypeの私の実装を使用しようとすると、私はこのメッセージを取得します:は今、私は、ユーザーのデータ型をマッピングすることができになっていませんでしたまで、あなたにこの?。を達成する方法についての簡単な例のいくつかのリンクを持っている...私は、ユーザー・データ・タイプを削除するために検討していますそれが構成されてウィッヒの分野ERモデルからと爆発する。「org.hibernate.cfg.JDBCBinderException:it.mypackage.FullContactInfoTypeが表に見られる種類:ユーザーコラム:fullcontactinfoは複数の列にまたがります。単一の列型のみが許可されます。 タイプ:it.mypackage.FullContactInfoTypeがテーブル:usersカラムに見つかりました:fullcontactinfoは複数のカラムにまたがります。単一の列型のみが許可されます。 は「
私はあなたのサポートのために、事前に休止状態3.5.4
よろしくと感謝を使用しています。
こんにちはサティッシュはあなたに感謝、私はすでにのUserTypeで遊んでいますが、私はreveng.xmlに宣言するとき、私は、それを行うにはsuccedingわけではないオブジェクトを作成します設定ファイルmy userとのマッピングタイプ私は私の投稿に書いたようにorg.hibernate.cfg.JDBCBinderExceptionを取得します。 私はすでにERでモデル化したことをリバースエンジニアリングしようとしています....しかし、あなたの提案をさらに見て、この解決策をやり直してみましょう.... nullSafeGetのシグネチャは(ResultSet結果セット、文字列[]の名前、オブジェクトの所有者)ではなく、あなたが報告するものではありませんか?よろしくお願いします。 – quonn
あなたは正しいnullSafeGetですが、各オブジェクトの配列を作成したことに気づいていません。あなたがhttp://www.hibernatespatial.org/tutorial.html linkでマッピングを見たのであれば、もう1つの検証?ピアレビューに役立つサンプルマッピングファイルがあります。乾杯。 –
実際に私は、構造を定義するためにpostgresqlで使用される行形式にオブジェクトグラフを変換するRowEconderを開発しました。私はUserTypeのPGObjectにバインドさせることに成功しました。しかし、生成されたSQLコードを見ると、私はPGObjectのsetStringParameterメソッドを与えたときに内部的に使用しています....これは結果です 'ROW(' '' '' '' ''国 ''、 の代わりに のROW( '' [email protected] ''、null、null、null) '' Via Test ''、345、 '00155' ') '、' Via Andrea Noale '、345、' 00155 ')、ROW(' pippo @ pippo.it '、null、null、null)).... – quonn