<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.1" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: OneToMany, ManyToOne und ManyToMany - Parent/Child und die konfigurierbaren Parameter</title>
	<link>http://www.it-blogger.com/2006-08-15/onetomany-manytoone-und-manytomany-parentchild-und-die-konfigurierbaren-parameter/</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Fri, 18 May 2012 22:03:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1</generator>

	<item>
		<title>By: Odi</title>
		<link>http://www.it-blogger.com/2006-08-15/onetomany-manytoone-und-manytomany-parentchild-und-die-konfigurierbaren-parameter/#comment-3785</link>
		<author>Odi</author>
		<pubDate>Wed, 16 Aug 2006 07:10:30 +0000</pubDate>
		<guid>http://www.it-blogger.com/2006-08-15/onetomany-manytoone-und-manytomany-parentchild-und-die-konfigurierbaren-parameter/#comment-3785</guid>
					<description>Ich finde den Ausdruck "die Pflege geht von A aus" sehr unklar. Was willst du damit sagen? Ich nehme an, bei dieser "Umkehr der Pflege" bleibt das DB-Schema unverändert. Was ändert sich also? Ich verstehe nicht, warum man die Konfiguration absichtlich so "falsch" macht. Bist du dir sicher, dass das ein korrektes Mapping darstellt? Interpretiert Hibernate dieses in meine Augen falsche Mapping nicht mehr zufällig richtig?</description>
		<content:encoded><![CDATA[<p>Ich finde den Ausdruck &#8220;die Pflege geht von A aus&#8221; sehr unklar. Was willst du damit sagen? Ich nehme an, bei dieser &#8220;Umkehr der Pflege&#8221; bleibt das DB-Schema unverändert. Was ändert sich also? Ich verstehe nicht, warum man die Konfiguration absichtlich so &#8220;falsch&#8221; macht. Bist du dir sicher, dass das ein korrektes Mapping darstellt? Interpretiert Hibernate dieses in meine Augen falsche Mapping nicht mehr zufällig richtig?</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: frank</title>
		<link>http://www.it-blogger.com/2006-08-15/onetomany-manytoone-und-manytomany-parentchild-und-die-konfigurierbaren-parameter/#comment-3786</link>
		<author>frank</author>
		<pubDate>Wed, 16 Aug 2006 07:43:06 +0000</pubDate>
		<guid>http://www.it-blogger.com/2006-08-15/onetomany-manytoone-und-manytomany-parentchild-und-die-konfigurierbaren-parameter/#comment-3786</guid>
					<description>Generell ist in alle Fällen die Datenbankstruktur gleich und es ändert sich daran nichts.
Mit Pflege meine ich, welches Setzen einer Referenz ein Update auf der Datenbank anstösst. Bei einer bi-direktionalen Beziehung ist dies der Parent. Standardmäßig ist es hier die Klasse B, sprich beim Setzen des Feldes "a" in der Klasse "B" wird ein Update auf das Feld "a_id" in der Tabelle B gestartet. Durch das Hinzufügen einese Elementes B in die Liste "bs" von A, wird kein Update auf das Feld angestossen. Dies kann eben durch das Hinzufügen von @JoinColumn in der Klasse A umgekehrt werden. Es wird dann ein Update auf das Feld a_id beim Hinzufügen in die Collection ausgeführt und nicht beim Setzen des Feldes in der Klasse B.
Ich hoffe damit ist die Sache für dich etwas verständlicher geworden.</description>
		<content:encoded><![CDATA[<p>Generell ist in alle Fällen die Datenbankstruktur gleich und es ändert sich daran nichts.<br />
Mit Pflege meine ich, welches Setzen einer Referenz ein Update auf der Datenbank anstösst. Bei einer bi-direktionalen Beziehung ist dies der Parent. Standardmäßig ist es hier die Klasse B, sprich beim Setzen des Feldes &#8220;a&#8221; in der Klasse &#8220;B&#8221; wird ein Update auf das Feld &#8220;a_id&#8221; in der Tabelle B gestartet. Durch das Hinzufügen einese Elementes B in die Liste &#8220;bs&#8221; von A, wird kein Update auf das Feld angestossen. Dies kann eben durch das Hinzufügen von @JoinColumn in der Klasse A umgekehrt werden. Es wird dann ein Update auf das Feld a_id beim Hinzufügen in die Collection ausgeführt und nicht beim Setzen des Feldes in der Klasse B.<br />
Ich hoffe damit ist die Sache für dich etwas verständlicher geworden.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Odi</title>
		<link>http://www.it-blogger.com/2006-08-15/onetomany-manytoone-und-manytomany-parentchild-und-die-konfigurierbaren-parameter/#comment-3915</link>
		<author>Odi</author>
		<pubDate>Thu, 17 Aug 2006 15:58:32 +0000</pubDate>
		<guid>http://www.it-blogger.com/2006-08-15/onetomany-manytoone-und-manytomany-parentchild-und-die-konfigurierbaren-parameter/#comment-3915</guid>
					<description>Ok, danke das macht's klarer. Scheint mir jetzt sinnvoll. Bei grösseren Schemas mit 260+ Tabellen verzichte aber lieber auf solche Convenience. Ich mache es lieber überall gleich, dann macht man weniger Fehler. Auch wenn das hier und da vielleicht ein paar Zeilen mehr Code gibt.</description>
		<content:encoded><![CDATA[<p>Ok, danke das macht&#8217;s klarer. Scheint mir jetzt sinnvoll. Bei grösseren Schemas mit 260+ Tabellen verzichte aber lieber auf solche Convenience. Ich mache es lieber überall gleich, dann macht man weniger Fehler. Auch wenn das hier und da vielleicht ein paar Zeilen mehr Code gibt.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: David</title>
		<link>http://www.it-blogger.com/2006-08-15/onetomany-manytoone-und-manytomany-parentchild-und-die-konfigurierbaren-parameter/#comment-7002</link>
		<author>David</author>
		<pubDate>Wed, 15 Nov 2006 14:37:22 +0000</pubDate>
		<guid>http://www.it-blogger.com/2006-08-15/onetomany-manytoone-und-manytomany-parentchild-und-die-konfigurierbaren-parameter/#comment-7002</guid>
					<description>Hello.
 as I still did not solve my problem, I will try to reformulate my question I want to make request EJB3 QL with joint.
here my tables:
 
[CODE]    CREATE TABLE `umlssnmi` (
  `AUIS` varchar(20) NOT NULL default '',
  `CUI` varchar(20) NOT NULL default '',
  `CODE` varchar(20) NOT NULL default '',
  `TTY` varchar(5) NOT NULL default '',
  `STR` varchar(255) NOT NULL default '',
  `HIER` varchar(255) NOT NULL default '',
  `PROF` tinyint(2) NOT NULL default '0',
  `AXE` char(1) NOT NULL default 'D',
  PRIMARY KEY  (`AUIS`),
  KEY `CODE` (`CODE`),
  KEY `TTY` (`TTY`),
  KEY `CUI` (`CUI`),
  KEY `AXE` (`AXE`)
) TYPE=MyISAM;
 
 CREATE TABLE `whoart` (
  `AUIW` varchar(10) NOT NULL default '',
  `CODE` varchar(10) NOT NULL default '',
  `STR` varchar(255) NOT NULL default '',
  `FSTR` varchar(255) NOT NULL default '',
  `SOC` varchar(5) NOT NULL default '',
  `SEMTYPE` varchar(5) NOT NULL default '',
  `SRC` enum('WA','CIM') NOT NULL default 'WA',
  PRIMARY KEY  (`AUIW`),
  KEY `SOC` (`SOC`),
  KEY `CODE` (`CODE`)
) TYPE=MyISAM;
[/CODE]
 
Knowing that I have the following table which has like clès primary both clès primary of the tables the preceding one.
 
[CODE]    CREATE TABLE `wasnmi` (
  `AUIW` varchar(20) NOT NULL default '',
  `AUIS` varchar(20) NOT NULL default '',
  `MODIF` varchar(10) default NULL,
  `SRC` enum('S','MW','MS','MA') NOT NULL default 'S',
  PRIMARY KEY  (`AUIW`,`AUIS`),
  KEY `MOD` (`SRC`),
  KEY `MODIF` (`MODIF`)
) TYPE=MyISAM;
 
[/CODE]
 
knowing that cardinality between these tables and ManyToMany, my question and to know if so that I can make a join 
 
between my tables I must create tables intermédiates which contain that the  primary keys like umlssnmi_wasnmi kind 
 
and whoart_wasnmi for example, and to make @JoinTable; or the table "wasnmi" will join the tables.
 
 I tried to implement : 
 
For table WHOART:
 
[CODE]    public class TermSource implements Serializable {
[…]
@OneToMany (mappedBy="auiw")
    private Collection&#60;TermProjPK&#62; termProjPks;
    
    public Collection&#60;TermProjPK&#62; getTermProjPks() {
        return termProjPks;
    }
 
    public void setTermProjPks(Collection&#60;TermProjPK&#62; termProjPks) {
        this.termProjPks = termProjPks;
    }
[…]
}
[/CODE]For UMLSSNMI table:
[CODE]    
 
 
public class SnomedInter implements Serializable {
[…]
@OneToMany (mappedBy="auis")
    private Collection&#60;TermProjPK&#62; termProjPks;
    
    public Collection&#60;TermProjPK&#62; getTermProjPks() {
        return termProjPks;
    }
 
    public void setTermProjPks(Collection&#60;TermProjPK&#62; termProjPks) {
        this.termProjPks = termProjPks;
    }
[…]
}[/CODE]
 
 
The TermProjPK class which contains the primary keys of table WASNMI:
 
[CODE]    @Embeddable
public class TermProjPK implements Serializable {
[…]
@ManyToOne
    @JoinColumn(name = "AUIW", nullable = false)
    private String auiw;
    private Collection&#60;TermSource&#62; termSources;
    
    public Collection&#60;TermSource&#62; getTermSources() {
        return termSources;
    }
 
    public void setTermSources(Collection&#60;TermSource&#62; termSources) {
        this.termSources = termSources;
    }
@ManyToOne
    @JoinColumn(name = "AUIS", nullable = false)
    private String auis;
    private Collection&#60;SnomedInter&#62; snomedInters;
     
    public Collection&#60;SnomedInter&#62; getSnomedInters() {
        return snomedInters;
    }
 
    public void setSnomedInters(Collection&#60;SnomedInter&#62; snomedInters) {
        this.snomedInters = snomedInters;
    }
[…]
}[/CODE]
 
For WASNMI table:
[CODE]    public class TermProj implements Serializable {    
    
    @EmbeddedId
    protected TermProjPK termProjPK;
 
    @Column(name = "MODIF")
    private String modif;
 
    @Column(name = "SRC", nullable = false)
    private String src;
[…]
}[/CODE]
 
 
That does not function, because I do not know how I can reach the fields ` MODIF' and ` SRC' of the table ` WASNMI' starting from TermSource object. 
 
 
 
Somebody already made there?.   :roll:    I thank you in advance</description>
		<content:encoded><![CDATA[<p>Hello.<br />
 as I still did not solve my problem, I will try to reformulate my question I want to make request EJB3 QL with joint.<br />
here my tables:</p>
<p>[CODE]    CREATE TABLE `umlssnmi` (<br />
  `AUIS` varchar(20) NOT NULL default &#8221;,<br />
  `CUI` varchar(20) NOT NULL default &#8221;,<br />
  `CODE` varchar(20) NOT NULL default &#8221;,<br />
  `TTY` varchar(5) NOT NULL default &#8221;,<br />
  `STR` varchar(255) NOT NULL default &#8221;,<br />
  `HIER` varchar(255) NOT NULL default &#8221;,<br />
  `PROF` tinyint(2) NOT NULL default &#8216;0&#8242;,<br />
  `AXE` char(1) NOT NULL default &#8216;D&#8217;,<br />
  PRIMARY KEY  (`AUIS`),<br />
  KEY `CODE` (`CODE`),<br />
  KEY `TTY` (`TTY`),<br />
  KEY `CUI` (`CUI`),<br />
  KEY `AXE` (`AXE`)<br />
) TYPE=MyISAM;</p>
<p> CREATE TABLE `whoart` (<br />
  `AUIW` varchar(10) NOT NULL default &#8221;,<br />
  `CODE` varchar(10) NOT NULL default &#8221;,<br />
  `STR` varchar(255) NOT NULL default &#8221;,<br />
  `FSTR` varchar(255) NOT NULL default &#8221;,<br />
  `SOC` varchar(5) NOT NULL default &#8221;,<br />
  `SEMTYPE` varchar(5) NOT NULL default &#8221;,<br />
  `SRC` enum(&#8217;WA&#8217;,'CIM&#8217;) NOT NULL default &#8216;WA&#8217;,<br />
  PRIMARY KEY  (`AUIW`),<br />
  KEY `SOC` (`SOC`),<br />
  KEY `CODE` (`CODE`)<br />
) TYPE=MyISAM;<br />
[/CODE]</p>
<p>Knowing that I have the following table which has like clès primary both clès primary of the tables the preceding one.</p>
<p>[CODE]    CREATE TABLE `wasnmi` (<br />
  `AUIW` varchar(20) NOT NULL default &#8221;,<br />
  `AUIS` varchar(20) NOT NULL default &#8221;,<br />
  `MODIF` varchar(10) default NULL,<br />
  `SRC` enum(&#8217;S',&#8217;MW&#8217;,'MS&#8217;,'MA&#8217;) NOT NULL default &#8216;S&#8217;,<br />
  PRIMARY KEY  (`AUIW`,`AUIS`),<br />
  KEY `MOD` (`SRC`),<br />
  KEY `MODIF` (`MODIF`)<br />
) TYPE=MyISAM;</p>
<p>[/CODE]</p>
<p>knowing that cardinality between these tables and ManyToMany, my question and to know if so that I can make a join </p>
<p>between my tables I must create tables intermédiates which contain that the  primary keys like umlssnmi_wasnmi kind </p>
<p>and whoart_wasnmi for example, and to make @JoinTable; or the table &#8220;wasnmi&#8221; will join the tables.</p>
<p> I tried to implement : </p>
<p>For table WHOART:</p>
<p>[CODE]    public class TermSource implements Serializable {<br />
[…]<br />
@OneToMany (mappedBy=&#8221;auiw&#8221;)<br />
    private Collection&lt;TermProjPK&gt; termProjPks;</p>
<p>    public Collection&lt;TermProjPK&gt; getTermProjPks() {<br />
        return termProjPks;<br />
    }</p>
<p>    public void setTermProjPks(Collection&lt;TermProjPK&gt; termProjPks) {<br />
        this.termProjPks = termProjPks;<br />
    }<br />
[…]<br />
}<br />
[/CODE]For UMLSSNMI table:<br />
[CODE]    </p>
<p>public class SnomedInter implements Serializable {<br />
[…]<br />
@OneToMany (mappedBy=&#8221;auis&#8221;)<br />
    private Collection&lt;TermProjPK&gt; termProjPks;</p>
<p>    public Collection&lt;TermProjPK&gt; getTermProjPks() {<br />
        return termProjPks;<br />
    }</p>
<p>    public void setTermProjPks(Collection&lt;TermProjPK&gt; termProjPks) {<br />
        this.termProjPks = termProjPks;<br />
    }<br />
[…]<br />
}[/CODE]</p>
<p>The TermProjPK class which contains the primary keys of table WASNMI:</p>
<p>[CODE]    @Embeddable<br />
public class TermProjPK implements Serializable {<br />
[…]<br />
@ManyToOne<br />
    @JoinColumn(name = &#8220;AUIW&#8221;, nullable = false)<br />
    private String auiw;<br />
    private Collection&lt;TermSource&gt; termSources;</p>
<p>    public Collection&lt;TermSource&gt; getTermSources() {<br />
        return termSources;<br />
    }</p>
<p>    public void setTermSources(Collection&lt;TermSource&gt; termSources) {<br />
        this.termSources = termSources;<br />
    }<br />
@ManyToOne<br />
    @JoinColumn(name = &#8220;AUIS&#8221;, nullable = false)<br />
    private String auis;<br />
    private Collection&lt;SnomedInter&gt; snomedInters;</p>
<p>    public Collection&lt;SnomedInter&gt; getSnomedInters() {<br />
        return snomedInters;<br />
    }</p>
<p>    public void setSnomedInters(Collection&lt;SnomedInter&gt; snomedInters) {<br />
        this.snomedInters = snomedInters;<br />
    }<br />
[…]<br />
}[/CODE]</p>
<p>For WASNMI table:<br />
[CODE]    public class TermProj implements Serializable {    </p>
<p>    @EmbeddedId<br />
    protected TermProjPK termProjPK;</p>
<p>    @Column(name = &#8220;MODIF&#8221;)<br />
    private String modif;</p>
<p>    @Column(name = &#8220;SRC&#8221;, nullable = false)<br />
    private String src;<br />
[…]<br />
}[/CODE]</p>
<p>That does not function, because I do not know how I can reach the fields ` MODIF&#8217; and ` SRC&#8217; of the table ` WASNMI&#8217; starting from TermSource object. </p>
<p>Somebody already made there?.   <img src='http://www.it-blogger.com/wp-includes/images/smilies/icon_rolleyes.gif' alt=':roll:' class='wp-smiley' />    I thank you in advance</p>
]]></content:encoded>
				</item>
</channel>
</rss>

