HyperJAXB2: many-to-many kapcsolat

Ha egy elem számosság 0 és végtelen, akkor one-to-many, vagy many-to-many kapcsolat jön létre (alapból one-to-many). Ezt a complexCollectionProperty elemmel lehet testreszabni. Az alábbi példában egy many-tomany kapcsolat jön létre az event ésa person entitás között.

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema 
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
	xmlns:hj="http://hyperjaxb2.jvnet.org/customizations"
	
	jaxb:version="1.0"
	jaxb:extensionBindingPrefixes="hj"
>
	<xsd:annotation>
		<xsd:appinfo>
			<jaxb:globalBindings generateIsSetMethod="true" />
			<jaxb:schemaBindings>
				<jaxb:package name="norbert.test.hjaxb.model" />
			</jaxb:schemaBindings>
		</xsd:appinfo>
	</xsd:annotation>
 
	<xsd:element name="event">
		<xsd:complexType>
			<xsd:annotation>
				<xsd:appinfo>
					<hj:class>
						<hj:table name="EVENTS"/>
					</hj:class>
				</xsd:appinfo>
			</xsd:annotation>
	    	
			<xsd:sequence>
				<xsd:element name="id" type="xsd:int">
					<xsd:annotation>
						<xsd:appinfo>
							<hj:id>
								<hj:column name="EVENT_ID"/>
								<hj:generator generatorClass="assigned"/>
							</hj:id>
						</xsd:appinfo>
					</xsd:annotation>
				</xsd:element>
				<xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"></xsd:element>
				<xsd:element name="startDate" type="xsd:dateTime" maxOccurs="1" minOccurs="1"></xsd:element>
				<xsd:element name="endDate" type="xsd:dateTime"
					maxOccurs="1" minOccurs="0">
				</xsd:element>
				<xsd:element ref="person" maxOccurs="unbounded" minOccurs="0">
					<xsd:annotation>
						<xsd:appinfo>
							<hj:complexCollectionProperty>
								<hj:table name="EVENT_PERSONS"/>
								<hj:key>
									<hj:column name="EVENT_ID"/>
								</hj:key>
								<hj:list-index>
									<hj:column name="EVENT_PERSON_INDEX"/>
								</hj:list-index>
								<hj:many-to-many>
									<hj:column name="PERSON_ID"/>
								</hj:many-to-many>
							</hj:complexCollectionProperty>
						</xsd:appinfo>
					</xsd:annotation>
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	
	<xsd:element name="person">
		<xsd:complexType>
			<xsd:annotation>
				<xsd:appinfo>
					<hj:class>
						<hj:table name="PERSONS"/>
					</hj:class>
				</xsd:appinfo>
			</xsd:annotation>
	    	
			<xsd:sequence>
				<xsd:element name="id" type="xsd:int">
					<xsd:annotation>
						<xsd:appinfo>
							<hj:id>
								<hj:column name="PERSON_ID"/>
								<hj:generator generatorClass="assigned"/>
							</hj:id>
						</xsd:appinfo>
					</xsd:annotation>
				</xsd:element>
				<xsd:element name="name" type="xsd:string"></xsd:element>
				<xsd:element name="age" type="xsd:int" maxOccurs="1" minOccurs="0"></xsd:element>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
 
</xsd:schema>
 
norbert/szakmai/hyperjaxb2_many-to-many_kapcsolat.txt · Utolsó módosítás: 2006.07.05 23:57 szerkesztette: norbert
 
Valid XHTML 1.0 Valid CSS Driven by DokuWiki Get Firefox! Hosted by AION CSIK.net