Mysql
 sql >> база данни >  >> RDS >> Mysql

Полиморфното принадлежи на много към много картографиране в граали?

Hibernate може да картографира интерфейс - вж. пример . Съмнявам се дали Grails поддържа това при картографиране по конвенция - но можете да опитате да използвате картографирането пояснения от примера по-горе или XML конфигурация.

редактиране :отговаряйки на въпрос за коментар:

На ниво база данни трябва да имате Taggable таблица за Tag.References за справка с външен ключ.

  1. Discriminator НЯМА да победи полиморфизма, ако е добавен автоматично - например при картографиране таблица на йерархия, Hibernate/Gorm добавя class поле, за да откриете конкретен клас при четене на обект от db.

  2. Ако картографирате вашия Taggable s към две таблици - Taggable част към Taggable и всичко останало към конкретна таблица, посочена 1:1 - цялата работа на дискриминатора трябва да бъде извършена вместо вас от Hibernate.

BTW class полето е доста дълго – съдържа пълно име на клас .

редактиране 2 :Така или иначе става доста сложно и аз лично бих се съгласил с подхода, който предложих в друг въпрос :

  • динамично заявете всички класове с интерфейс за етикетиране за hasMany=[tags:Tag] собственост;
  • или, по-малко за предпочитане – да имате ръчно изработена детска маса и дискриминатор.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Внедряване на йерархична структура от данни в база данни

  2. Какво ще се случи, ако убия огромна MySQL InnoDb DELETE Query?

  3. Заявка за условно агрегиране с група от

  4. symfony2 с doctrine не може да се свърже с отдалечена база данни на mysql

  5. система за периодично таксуване