私は既存のhibernateマッピングをgrailsアプリケーションに統合しました。ダイナミックファインダは正常に動作し、外部キーも解決されます。しかし、私はドメインクラスの新しいインスタンスを保存することはできません。Grails。ゴーム新しいインスタンスの作成中にエラーが発生しました
注:ドメインクラスにIDフィールドはありません。すべてのプライマリキーにはカスタム名(carId、houseIdなど)があります。このClassName.get(id)が機能しないため、これを回避するには動的なファインダー(findByCarIdなど)を使用しています。私はこれもインスタンスを作成する際の問題だと思います。私が得た 例外は以下の通りです:
org.hibernate.MappingException: Unknown entity: xxx.xxx.DomainClassName
(既存のエンティティ名がDomainClassNameで、エンティティ名パラメータに関連した問題のようですが、Grailsのエンティティにxxx.xxx.DomainCalssNameを探してみてください完全修飾名)を見つけられません。
いくつかの提案がありますか?
これは、既存のJavaクラスとそのマッピングには触れませんか? – Bax
ですから、もしあなたがjavaクラスを持っているなら、hibernate.cfg.xmlを使わなければなりません。 grails-app/conf/hibernateディレクトリに置いてください。このファイルは、 'grails create-hibernate-cfg-xml'(grails docsを参照)で生成できます。ドメインクラスの* hbm.xmlを同じディレクトリ(grails-app/conf/hibernate)に入れることを忘れないでください。 – jenk
私は既にこの作業を行っています。データを取得して更新するためにドメインを使用しています(新しいインスタンスの作成に関する問題です)。あなたが書いたステートメント、どこにそれを書くのですか? – Bax