2017-03-18 5 views
0

レガシーDBのテーブルを使用することには多くの問題があります。 一つは、それがIDここでGrails、レガシーデータベースが正しいタイプのIDを取得できません

は、ドメインクラスの重要な断片である "RoleType" という名前のしている名前 "RoleType" とテーブルです:

class RoleType { 
    int roleType 
.... 
    static mapping = { 
     table 'RoleType' 
     version false 
     id column: 'roleType', type:'int', generator:'assigned' 
     roleType column: 'RoleType' 

エラー・リスト:

Caused by: org.hibernate.PropertySetterAccessException: 
IllegalArgumentException occurred while calling setter for property 
[com.torntrading.legacy.RoleType.id (expected type = java.lang.Long)]; 
    target = [com.torntrading.legacy.RoleType : (unsaved)], property value = [1] 
setter of com.torntrading.legacy.RoleType.id 

これを解決するために私は何ができますか?

答えて

1

IDの列を指定していますが、ドメイン内のどのプロパティがそのIDを表すかは指定していません。

id name: 'roletype', type:'int', generator:'assigned' roleType column: 'RoleType'

それをしなかったこと、それを

+0

感謝のを行う必要があります。私はこのタイプのプログラミングに慣れていませんし、それはとても学びやすく、しばしば物事を混ぜます。今私は同じテーブルで新しいエラーが発生しましたが、私はそれを新しい投稿に入れるべきだと思います。 – larand

関連する問題