1

私の質問は、 Is it possible in grails to disablepersistence of domain class? に関連するか、または同一 です。

私は grails 2.2.1 を使用しており、 static mapWith = "none" gorm を配置してドメイン クラスをオフにしようとしましたが、.save() を呼び出すと実際にデータベースにエントリが作成されます。したがって、 mapWith フラグは私には何もしませんでした。mapWith フラグに関するドキュメントも見つかりません。Grails 2 に代替品はありますか?

9 月 16 日にコードを更新

package test

class Person {


  String name
  static constraints = {
  }

  static mapping = {
    version false
    tablePerHierarchy false
    table 'psn'
  }
}
-------------------

package test

class Employer extends Person{

  static mapWith = 'none'

  String title
  static constraints = {

  }

  static mapping = {
    version false
    tablePerHierarchy false
    table 'emplyr'
  }
}

---------
package test

class Employee extends Person{


  String description

  static constraints = {
  }

  static mapping = {
    version false
    tablePerHierarchy false
    table 'emplyee'
  }
}

私は、Employer をドメイン オブジェクトとして扱うべきではないと思います。ただし、Person.list() を実行すると、次の sql が表示されました。

Hibernate: select this_.id as id0_0_, this_.name as name0_0_, this_1_.description as descript2_1_0_, this_2_.title as title2_0_, case when this_1_.id is not null then 1 when this_2_.id is not null then 2 when this_.id is not null then 0 end as clazz_0_ from psn this_ left outer join emplyee this_1_ on this_.id=this_1_.id left outer join emplyr this_2_ on this_.id=this_2_.id limit ?
Hibernate: select count(*) as y0_ from psn this_ left outer join emplyee this_1_ on this_.id=this_1_.id left outer join emplyr this_2_ on this_.id=this_2_.id

なぜemplyrに参加するのですか????? 私の目的は、これが「なし」としてマークされているときに、このテーブル結合を排除することです。私は何か間違ったことをしていますか?

4

0 に答える 0