<?xml version="1.0" encoding="UTF-8"?>
<jaxb:bindings version="1.0" 
	xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 
	xmlns:xs="http://www.w3.org/2001/XMLSchema" 
	xmlns:hj="http://hyperjaxb2.jvnet.org/customizations"
	xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
	jaxb:extensionBindingPrefixes="hj xjc">
	
	<jaxb:bindings schemaLocation="core.xsd" node="/xs:schema">	

		<jaxb:globalBindings bindingStyle="modelGroupBinding" choiceContentProperty="true" 
				generateIsSetMethod="false">
			<jaxb:javaType name="java.lang.Integer"  xmlType="xs:int"/>
			<jaxb:javaType name="java.lang.Long" xmlType="xs:long"/>
			
			<!-- The SerializeableUID value should be set the the date 
				(yyyymmdd) plus version (1, 2, 3, etc) to signify the 
				unique version of these objects. -->
			<xjc:serializable uid="200905041"/>
			
		</jaxb:globalBindings>

		<jaxb:schemaBindings>
			<jaxb:package name="magoffin.matt.ieat.domain"/>
		</jaxb:schemaBindings>
		
		<jaxb:bindings node="xs:complexType[@name='base']">
			<hj:class>
				<hj:table name="base"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.Base'"> 
					<hj:no-column/> 
				</hj:discriminator>
			</hj:class>

			<!-- Primary Key -->
			
			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='baseId']">
				<hj:id unsaved-value="null">
					<hj:column name="baseid" not-null="true"/>
					<hj:generator generatorClass="native">
						<hj:param name="sequence" value="hibernate_integer_seq"/>
					</hj:generator>
				</hj:id>
			</jaxb:bindings>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='course']">
			<hj:class>
				<hj:table name="course"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.Course'"> 
					<hj:no-column/> 
				</hj:discriminator>
			</hj:class>

			<!-- Primary Key -->
			
			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='courseId']">
				<hj:id unsaved-value="null">
					<hj:column name="courseid" not-null="true"/>
					<hj:generator generatorClass="native">
						<hj:param name="sequence" value="hibernate_integer_seq"/>
					</hj:generator>
				</hj:id>
			</jaxb:bindings>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='difficulty']">
			<hj:class>
				<hj:table name="difficulty"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.Difficulty'"> 
					<hj:no-column/> 
				</hj:discriminator>
			</hj:class>

			<!-- Primary Key -->
			
			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='difficultyId']">
				<hj:id unsaved-value="null">
					<hj:column name="difficultyid" not-null="true"/>
					<hj:generator generatorClass="native">
						<hj:param name="sequence" value="hibernate_integer_seq"/>
					</hj:generator>
				</hj:id>
			</jaxb:bindings>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='ethnicity']">
			<hj:class>
				<hj:table name="ethnicity"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.Ethnicity'"> 
					<hj:no-column/> 
				</hj:discriminator>
			</hj:class>

			<!-- Primary Key -->
			
			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='ethnicityId']">
				<hj:id unsaved-value="null">
					<hj:column name="ethnicityid" not-null="true"/>
					<hj:generator generatorClass="native">
						<hj:param name="sequence" value="hibernate_integer_seq"/>
					</hj:generator>
				</hj:id>
			</jaxb:bindings>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='ingredient']">
			<hj:class>
				<hj:table name="ingredient"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.Ingredient'"> 
					<hj:no-column/> 
				</hj:discriminator>
			</hj:class>

			<!-- Primary Key -->
			
			<jaxb:bindings node="xs:attribute[@name='ingredientId']">
				<hj:id unsaved-value="null">
					<hj:column name="ingredientid" not-null="true"/>
					<hj:generator generatorClass="native">
						<hj:param name="sequence" value="hibernate_integer_seq"/>
					</hj:generator>
				</hj:id>
			</jaxb:bindings>
			
			<!-- Elements -->
						
			<jaxb:bindings node="xs:sequence/xs:element[@name='description']">
				<hj:simpleSingleProperty>
					<hj:column name="description" length="512"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='name']">
				<hj:simpleSingleProperty>
					<hj:column name="ingr_name" length="128" not-null="true"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='meal']">
			<hj:class>
				<hj:table name="meal"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.Meal'"> 
					<hj:no-column/> 
				</hj:discriminator>
			</hj:class>

			<!-- Primary Key -->
			
			<jaxb:bindings node="xs:attribute[@name='mealId']">
				<hj:id unsaved-value="null">
					<hj:column name="mealid" not-null="true"/>
					<hj:generator generatorClass="native"/>
				</hj:id>
			</jaxb:bindings>
			
			<!-- Elements -->
						
			<jaxb:bindings node="xs:sequence/xs:element[@name='name']">
				<hj:simpleSingleProperty>
					<hj:column name="meal_name" length="128" not-null="true"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='owner']">
				<hj:complexSingleProperty>
					<hj:many-to-one foreign-key="meal_user_fk"
							insert="true" update="false" cascade="none">
						<hj:column name="ownerid"/>
					</hj:many-to-one>
				</hj:complexSingleProperty>	
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='recipe']">
				<hj:complexCollectionProperty lazy="false">
					<hj:cache usage="read-write"/>
					<hj:key foreign-key="mealrecipe_meal_fk">
						<hj:column name="mealid"/>
					</hj:key>
					<hj:list-index> 
						<hj:column name="pos"/> 
					</hj:list-index>
					<hj:one-to-many/>
				</hj:complexCollectionProperty>	
			</jaxb:bindings>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='meal-recipe']">
			<hj:class>
				<hj:table name="mealrecipe"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.MealRecipe'"> 
					<hj:no-column/> 
				</hj:discriminator>
			</hj:class>
			
			<!-- Primary Key -->

			<hj:id unsaved-value="null">
				<hj:column name="mealrecipeid" not-null="true"/>
				<hj:generator generatorClass="native"/>
			</hj:id>

			<!-- Attributes -->

			<jaxb:bindings node="xs:attribute[@name='quantity']">
				<hj:simpleSingleProperty>
					<hj:column name="quantity"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>

			<!-- Elements -->
						
			<jaxb:bindings node="xs:sequence/xs:element[@name='recipe']">
				<hj:complexSingleProperty>
					<hj:many-to-one foreign-key="mealrecipe_recipe_fk"
							 insert="true" update="true" cascade="none">
						<hj:column name="recipeid"/>
					</hj:many-to-one>
				</hj:complexSingleProperty>	
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='course']">
				<hj:complexSingleProperty>
					<hj:many-to-one foreign-key="mealrecipe_course_fk"
							 insert="true" update="true" cascade="none">
						<hj:column name="courseid"/>
					</hj:many-to-one>
				</hj:complexSingleProperty>	
			</jaxb:bindings>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='prep-time']">
			<hj:class>
				<hj:table name="preptime"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.PrepTime'"> 
					<hj:no-column/> 
				</hj:discriminator>
			</hj:class>

			<!-- Primary Key -->
			
			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='prepTimeId']">
				<hj:id unsaved-value="null">
					<hj:column name="preptimeid" not-null="true"/>
					<hj:generator generatorClass="native">
						<hj:param name="sequence" value="hibernate_integer_seq"/>
					</hj:generator>
				</hj:id>
			</jaxb:bindings>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='recipe']">
			<hj:class>
				<hj:table name="recipe"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.Recipe'"> 
					<hj:no-column/> 
				</hj:discriminator>
			</hj:class>

			<!-- Primary Key -->
			
			<jaxb:bindings node="xs:attribute[@name='recipeId']">
				<hj:id unsaved-value="null">
					<hj:column name="recipeid" not-null="true"/>
					<hj:generator generatorClass="native"/>
				</hj:id>
			</jaxb:bindings>
			
			<!-- Attributes -->

			<jaxb:bindings node="xs:attribute[@name='servingSize']">
				<hj:simpleSingleProperty>
					<hj:column name="servingsize" not-null="true"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>

			<jaxb:bindings node="xs:attribute[@name='createdDate']">
				<hj:simpleSingleProperty>
					<hj:column name="createddate"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>

			<jaxb:bindings node="xs:attribute[@name='modifiedDate']">
				<hj:simpleSingleProperty>
					<hj:column name="modifieddate"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>

			<!-- Elements -->
						
			<jaxb:bindings node="xs:sequence/xs:element[@name='base']">
				<hj:complexSingleProperty>
					<hj:many-to-one foreign-key="recipe_base_fk"
							  insert="true" update="true" cascade="none">
						<hj:column name="baseid"/>
					</hj:many-to-one>
				</hj:complexSingleProperty>	
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='comment']">
				<hj:complexCollectionProperty lazy="false">
					<hj:cache usage="read-write"/>
					<hj:key foreign-key="recipecomment_recipe_fk">
						<hj:column name="recipeid"/>
					</hj:key>
					<hj:list-index> 
						<hj:column name="pos"/> 
					</hj:list-index>
					<hj:one-to-many/>
				</hj:complexCollectionProperty>	
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='course']">
				<hj:complexSingleProperty>
					<hj:many-to-one foreign-key="recipe_course_fk"
							   insert="true" update="true" cascade="none">
						<hj:column name="courseid"/>
					</hj:many-to-one>
				</hj:complexSingleProperty>	
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='difficulty']">
				<hj:complexSingleProperty>
					<hj:many-to-one foreign-key="recipe_difficulty_fk"
							   insert="true" update="true" cascade="none">
						<hj:column name="difficultyid"/>
					</hj:many-to-one>
				</hj:complexSingleProperty>	
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='directions']">
				<hj:simpleSingleProperty>
					<hj:column name="directions"/>
					<hj:type name="text"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='ethnicity']">
				<hj:complexSingleProperty>
					<hj:many-to-one foreign-key="recipe_ethnicity_fk"
							   insert="true" update="true" cascade="none">
						<hj:column name="ethnicityid"/>
					</hj:many-to-one>
				</hj:complexSingleProperty>	
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='excerpt']">
				<hj:simpleSingleProperty>
					<hj:column name="excerpt"/>
					<hj:type name="text"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='image']">
				<hj:simpleSingleProperty>
					<hj:column name="image" length="255"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='ingredient']">
				<hj:complexCollectionProperty lazy="false">
					<hj:cache usage="read-write"/>
					<hj:key foreign-key="recipeingredient_recipe_fk">
						<hj:column name="recipeid"/>
					</hj:key>
					<hj:list-index> 
						<hj:column name="pos"/> 
					</hj:list-index>
					<hj:one-to-many/>
				</hj:complexCollectionProperty>	
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='name']">
				<hj:simpleSingleProperty>
					<hj:column name="recipe_name" length="128" not-null="true"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='owner']">
				<hj:complexSingleProperty>
					<hj:many-to-one foreign-key="recipe_user_fk"
							   insert="true" update="false" cascade="none">
						<hj:column name="ownerid"/>
					</hj:many-to-one>
				</hj:complexSingleProperty>	
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='prep-time']">
				<hj:complexSingleProperty>
					<hj:many-to-one foreign-key="recipe_preptime_fk"
							   insert="true" update="true" cascade="none">
						<hj:column name="preptimeid"/>
					</hj:many-to-one>
				</hj:complexSingleProperty>	
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='rating']">
				<hj:complexCollectionProperty lazy="false">
					<hj:cache usage="read-write"/>
					<hj:key foreign-key="reciperating_recipe_fk">
						<hj:column name="recipeid"/>
					</hj:key>
					<hj:list-index> 
						<hj:column name="pos"/> 
					</hj:list-index>
					<hj:one-to-many/>
				</hj:complexCollectionProperty>	
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='related-recipe']">
				<hj:complexCollectionProperty lazy="false">
					<hj:cache usage="read-write"/>
					<hj:key foreign-key="relatedrecipe_recipe_fk">
						<hj:column name="recipeid"/>
					</hj:key>
					<hj:list-index> 
						<hj:column name="pos"/> 
					</hj:list-index>
					<hj:one-to-many/>
				</hj:complexCollectionProperty>	
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='source']">
				<hj:simpleSingleProperty>
					<hj:column name="source" length="128"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='step']">
				<hj:complexCollectionProperty lazy="false">
					<hj:cache usage="read-write"/>
					<hj:key foreign-key="recipestep_recipe_fk">
						<hj:column name="recipeid"/>
					</hj:key>
					<hj:list-index> 
						<hj:column name="pos"/> 
					</hj:list-index>
					<hj:one-to-many/>
				</hj:complexCollectionProperty>	
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='system']">
				<hj:complexSingleProperty>
					<hj:many-to-one foreign-key="recipe_system_fk"
							   insert="true" update="true" cascade="none">
						<hj:column name="systemid"/>
					</hj:many-to-one>
				</hj:complexSingleProperty>	
			</jaxb:bindings>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='recipe-comment']">
			<hj:class>
				<hj:table name="recipecomment"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.RecipeComment'"> 
					<hj:no-column/> 
				</hj:discriminator>
				<hj:key foreign-key="recipecomment_recipe_fk"/>
			</hj:class>

			<!-- Primary Key -->
			
			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='commentId']">
				<hj:id unsaved-value="null">
					<hj:column name="commentid" not-null="true"/>
					<hj:generator generatorClass="native">
						<hj:param name="sequence" value="hibernate_integer_seq"/>
					</hj:generator>
				</hj:id>
			</jaxb:bindings>
			
			<!-- Attributes -->

			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='createdDate']">
				<hj:simpleSingleProperty>
					<hj:column name="createddate" not-null="true"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='userId']">
				<hj:simpleSingleProperty>
					<hj:column name="userid" not-null="true"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='recipe-ingredient']">
			<hj:class>
				<hj:table name="recipeingredient"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.RecipeIngredient'"> 
					<hj:no-column/> 
				</hj:discriminator>
				<hj:key foreign-key="recipeingredient_recipe_fk"/>
			</hj:class>

			<!-- Primary Key -->

			<hj:id unsaved-value="null">
				<hj:column name="recipeingredientid" not-null="true"/>
				<hj:generator generatorClass="native"/>
			</hj:id>

			
			<!-- Attributes -->

			<jaxb:bindings node="xs:attribute[@name='optional']">
				<hj:simpleSingleProperty>
					<hj:column name="optional" not-null="true"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:attribute[@name='quantity']">
				<hj:simpleSingleProperty>
					<hj:column name="quantity" not-null="true"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:attribute[@name='qualifier']">
				<hj:simpleSingleProperty>
					<hj:column name="qualifier" length="255"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<!-- Elements -->
						
			<jaxb:bindings node="xs:sequence/xs:element[@name='ingredient']">
				<hj:complexSingleProperty>
					<hj:many-to-one foreign-key="recipeingredient_ingredient_fk"
							  insert="true" update="true" cascade="none">
						<hj:column name="ingredientid"/>
					</hj:many-to-one>
				</hj:complexSingleProperty>	
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='recipe']">
				<hj:complexSingleProperty>
					<hj:many-to-one foreign-key="recipeingredient_ingredientrecipe_fk"
							  insert="true" update="true" cascade="none">
						<hj:column name="ingredientrecipeid"/>
					</hj:many-to-one>
				</hj:complexSingleProperty>	
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='unit']">
				<hj:complexSingleProperty>
					<hj:many-to-one foreign-key="recipeingredient_unit_fk"
							  insert="true" update="true" cascade="none">
						<hj:column name="unitid"/>
					</hj:many-to-one>
				</hj:complexSingleProperty>	
			</jaxb:bindings>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='recipe-rating']">
			<hj:class>
				<hj:table name="reciperating"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.RecipeRating'"> 
					<hj:no-column/> 
				</hj:discriminator>
				<hj:key foreign-key="reciperating_recipe_fk"/>
			</hj:class>

			<!-- Primary Key -->

			<jaxb:bindings node="xs:attribute[@name='ratingId']">
				<hj:id unsaved-value="null">
					<hj:column name="ratingid" not-null="true"/>
					<hj:generator generatorClass="native"/>
				</hj:id>
			</jaxb:bindings>
			
			<!-- Attributes -->

			<jaxb:bindings node="xs:attribute[@name='createdDate']">
				<hj:simpleSingleProperty>
					<hj:column name="createddate" not-null="true"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:attribute[@name='rating']">
				<hj:simpleSingleProperty>
					<hj:column name="rating" not-null="true"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:attribute[@name='userId']">
				<hj:simpleSingleProperty>
					<hj:column name="userid" not-null="true"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='recipe-step']">
			<hj:class>
				<hj:table name="recipestep"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.RecipeStep'"> 
					<hj:no-column/> 
				</hj:discriminator>
				<hj:key foreign-key="recipestep_recipe_fk"/>
			</hj:class>

			<!-- Primary Key -->

			<hj:id unsaved-value="null">
				<hj:column name="stepid" not-null="true"/>
				<hj:generator generatorClass="native"/>
			</hj:id>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='related-recipe']">
			<hj:class>
				<hj:table name="relatedrecipe"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.RelatedRecipe'"> 
					<hj:no-column/> 
				</hj:discriminator>
			</hj:class>
			
			<!-- Primary Key -->

			<hj:id unsaved-value="null">
				<hj:column name="relatedrecipeid" not-null="true"/>
				<hj:generator generatorClass="native"/>
			</hj:id>

			<!-- Elements -->
						
			<jaxb:bindings node="xs:sequence/xs:element[@name='kind']">
				<hj:complexSingleProperty>
					<hj:many-to-one foreign-key="relatedrecipe_relationkind_fk"
							 insert="true" update="true" cascade="none">
						<hj:column name="relationkindid"/>
					</hj:many-to-one>
				</hj:complexSingleProperty>	
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='recipe']">
				<hj:complexSingleProperty>
					<hj:many-to-one foreign-key="relatedrecipe_recipe_fk"
							 insert="true" update="true" cascade="none">
						<hj:column name="recipeid"/>
					</hj:many-to-one>
				</hj:complexSingleProperty>	
			</jaxb:bindings>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='relation-kind']">
			<hj:class>
				<hj:table name="relationkind"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.RelationKind'"> 
					<hj:no-column/> 
				</hj:discriminator>
			</hj:class>

			<!-- Primary Key -->
			
			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='relationKindId']">
				<hj:id unsaved-value="null">
					<hj:column name="relationkindid" not-null="true"/>
					<hj:generator generatorClass="native">
						<hj:param name="sequence" value="hibernate_integer_seq"/>
					</hj:generator>
				</hj:id>
			</jaxb:bindings>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='system']">
			<hj:class>
				<hj:table name="measurement_system"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.System'"> 
					<hj:no-column/> 
				</hj:discriminator>
			</hj:class>

			<!-- Primary Key -->
			
			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='systemId']">
				<hj:id unsaved-value="null">
					<hj:column name="systemid" not-null="true"/>
					<hj:generator generatorClass="native">
						<hj:param name="sequence" value="hibernate_integer_seq"/>
					</hj:generator>
				</hj:id>
			</jaxb:bindings>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='unit']">
			<hj:class>
				<hj:table name="unit"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.Unit'"> 
					<hj:no-column/> 
				</hj:discriminator>
			</hj:class>

			<!-- Primary Key -->
			
			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='unitId']">
				<hj:id unsaved-value="null">
					<hj:column name="unitid" not-null="true"/>
					<hj:generator generatorClass="native">
						<hj:param name="sequence" value="hibernate_integer_seq"/>
					</hj:generator>
				</hj:id>
			</jaxb:bindings>
			
			<!-- Attributes -->
			
			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='abbreviation']">
				<hj:simpleSingleProperty>
					<hj:column name="abbreviation" not-null="true" length="8"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='mass']">
				<hj:simpleSingleProperty>
					<hj:column name="mass" not-null="true"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='systemId']">
				<hj:simpleSingleProperty>
					<hj:column name="systemid"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='toImperial']">
				<hj:simpleSingleProperty>
					<hj:column name="toimperial"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='toMetric']">
				<hj:simpleSingleProperty>
					<hj:column name="tometric"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='toUS']">
				<hj:simpleSingleProperty>
					<hj:column name="tous"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='user']">
			<hj:class>
				<hj:table name="users"/>
				<hj:cache usage="read-write"/>
				<hj:discriminator formula="'magoffin.matt.ieat.domain.User'"> 
					<hj:no-column/> 
				</hj:discriminator>
			</hj:class>

			<!-- Primary Key -->
			
			<jaxb:bindings node="xs:attribute[@name='userId']">
				<hj:id unsaved-value="null">
					<hj:column name="userid" not-null="true"/>
					<hj:generator generatorClass="native">
						<hj:param name="sequence" value="hibernate_integer_seq"/>
					</hj:generator>
				</hj:id>
			</jaxb:bindings>
			
			<!-- Attributes -->
			
			<jaxb:bindings node="xs:attribute[@name='accessLevel']">
				<hj:simpleSingleProperty>
					<hj:column name="accesslevel"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:attribute[@name='country']">
				<hj:simpleSingleProperty>
					<hj:column name="country" not-null="true" length="3"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:attribute[@name='createdDate']">
				<hj:simpleSingleProperty>
					<hj:column name="createddate" not-null="true"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:attribute[@name='language']">
				<hj:simpleSingleProperty>
					<hj:column name="language" not-null="true" length="3"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:attribute[@name='lastLoginDate']">
				<hj:simpleSingleProperty>
					<hj:column name="lastlogindate"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:attribute[@name='login']">
				<hj:simpleSingleProperty>
					<hj:column name="login" not-null="true" length="32"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<!-- Elements -->
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='email']">
				<hj:simpleSingleProperty>
					<hj:column name="email" length="128" not-null="true"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='name']">
				<hj:simpleSingleProperty>
					<hj:column name="user_name" length="64" not-null="true"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
			<jaxb:bindings node="xs:sequence/xs:element[@name='password']">
				<hj:simpleSingleProperty>
					<hj:column name="password" length="64" not-null="true"/>
				</hj:simpleSingleProperty>
			</jaxb:bindings>
			
		</jaxb:bindings>
		
	</jaxb:bindings>
	
	<jaxb:bindings schemaLocation="ui.xsd" node="/xs:schema">
		
		<jaxb:bindings node="xs:complexType[@name='advanced-search-criteria']">
			<hj:ignored/>
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='recipe-search-criteria']">
			<hj:ignored/>
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='ui-base']">
			<hj:ignored/>
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='ui-data']">
			<hj:ignored/>
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='ui-edit']">
			<hj:ignored/>
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='ui-index']">
			<hj:ignored/>
			<jaxb:bindings node="xs:sequence/xs:element[@name='index-section']/xs:complexType">
				<hj:ignored/>
			</jaxb:bindings>
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='ui-ingredient-match']">
			<hj:ignored/>
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='ui-meta-support']">
			<hj:ignored/>
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='ui-pagination-support']">
			<hj:ignored/>
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='ui-parameter']">
			<hj:ignored/>
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='ui-recipe-match']">
			<hj:ignored/>
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='ui-search-results']">
			<hj:ignored/>
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='ui-session-data']">
			<hj:ignored/>
		</jaxb:bindings>
		
		<jaxb:bindings node="xs:complexType[@name='ui-user-match']">
			<hj:ignored/>
		</jaxb:bindings>
		
	</jaxb:bindings>
	
</jaxb:bindings>
