[hibernate-commits] Hibernate SVN: r14748 - in annotations/trunk/src: test/org/hibernate/test/annotations/onetoone and 1 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Fri Jun 6 06:35:35 EDT 2008


Author: hardy.ferentschik
Date: 2008-06-06 06:35:35 -0400 (Fri, 06 Jun 2008)
New Revision: 14748

Added:
   annotations/trunk/src/test/org/hibernate/test/annotations/onetoone/primarykey/
   annotations/trunk/src/test/org/hibernate/test/annotations/onetoone/primarykey/Address.java
   annotations/trunk/src/test/org/hibernate/test/annotations/onetoone/primarykey/NullablePrimaryKeyTest.java
   annotations/trunk/src/test/org/hibernate/test/annotations/onetoone/primarykey/Person.java
Modified:
   annotations/trunk/src/java/org/hibernate/cfg/AnnotationConfiguration.java
   annotations/trunk/src/java/org/hibernate/cfg/Ejb3Column.java
Log:
ANN-742 Added test case. So far the test case breaks.

Modified: annotations/trunk/src/java/org/hibernate/cfg/AnnotationConfiguration.java
===================================================================
--- annotations/trunk/src/java/org/hibernate/cfg/AnnotationConfiguration.java	2008-06-06 08:16:25 UTC (rev 14747)
+++ annotations/trunk/src/java/org/hibernate/cfg/AnnotationConfiguration.java	2008-06-06 10:35:35 UTC (rev 14748)
@@ -61,6 +61,7 @@
  *
  * @author Emmanuel Bernard
  */
+ at SuppressWarnings({"unchecked", "serial"})
 public class AnnotationConfiguration extends Configuration {
 	private Logger log = LoggerFactory.getLogger( AnnotationConfiguration.class );
 

Modified: annotations/trunk/src/java/org/hibernate/cfg/Ejb3Column.java
===================================================================
--- annotations/trunk/src/java/org/hibernate/cfg/Ejb3Column.java	2008-06-06 08:16:25 UTC (rev 14747)
+++ annotations/trunk/src/java/org/hibernate/cfg/Ejb3Column.java	2008-06-06 10:35:35 UTC (rev 14748)
@@ -158,7 +158,7 @@
 			initMappingColumn(
 					logicalColumnName, propertyName, length, precision, scale, nullable, sqlType, unique, true
 			);
-			log.debug( "Binding column {}. Unique {}", mappingColumn.getName(), unique );
+			log.debug( "Binding column {}. Unique {}. Nullable {}.", new Object[] {mappingColumn.getName(), unique, nullable});
 		}
 	}
 

Added: annotations/trunk/src/test/org/hibernate/test/annotations/onetoone/primarykey/Address.java
===================================================================
--- annotations/trunk/src/test/org/hibernate/test/annotations/onetoone/primarykey/Address.java	                        (rev 0)
+++ annotations/trunk/src/test/org/hibernate/test/annotations/onetoone/primarykey/Address.java	2008-06-06 10:35:35 UTC (rev 14748)
@@ -0,0 +1,40 @@
+//$Id: A320.java 14736 2008-06-04 14:23:42Z hardy.ferentschik $
+package org.hibernate.test.annotations.onetoone.primarykey;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
+import javax.persistence.OneToOne;
+
+ at Entity
+public class Address {
+
+	@Id
+	private long id;
+
+	@OneToOne
+	@JoinTable(
+			name = "personAddress",
+			joinColumns = @JoinColumn(name = "address_id", insertable = false, updatable = false),
+			inverseJoinColumns = @JoinColumn(name = "person_id", insertable = false, updatable = false)
+			)
+	private Person person;
+
+	public long getId() {
+		return id;
+	}
+
+	public void setId(long id) {
+		this.id = id;
+	}
+
+	public Person getPerson() {
+		return person;
+	}
+
+	public void setPerson(Person person) {
+		this.person = person;
+	}
+
+}


Property changes on: annotations/trunk/src/test/org/hibernate/test/annotations/onetoone/primarykey/Address.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: annotations/trunk/src/test/org/hibernate/test/annotations/onetoone/primarykey/NullablePrimaryKeyTest.java
===================================================================
--- annotations/trunk/src/test/org/hibernate/test/annotations/onetoone/primarykey/NullablePrimaryKeyTest.java	                        (rev 0)
+++ annotations/trunk/src/test/org/hibernate/test/annotations/onetoone/primarykey/NullablePrimaryKeyTest.java	2008-06-06 10:35:35 UTC (rev 14748)
@@ -0,0 +1,39 @@
+//$Id: A320.java 14736 2008-06-04 14:23:42Z hardy.ferentschik $
+package org.hibernate.test.annotations.onetoone.primarykey;
+
+import junit.framework.TestCase;
+
+import org.hibernate.cfg.AnnotationConfiguration;
+import org.hibernate.dialect.SQLServerDialect;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Test harness for ANN-742.
+ * 
+ * @author Hardy Ferentschik
+ * 
+ */
+public class NullablePrimaryKeyTest extends TestCase {
+
+	private Logger log = LoggerFactory.getLogger(NullablePrimaryKeyTest.class);
+
+	public void testGeneratedSql() {
+		try {
+			AnnotationConfiguration config = new AnnotationConfiguration();
+			config.addAnnotatedClass(Address.class);
+			config.addAnnotatedClass(Person.class);
+			config.buildSessionFactory();
+			String[] schema = config
+					.generateSchemaCreationScript(new SQLServerDialect());
+			for (String s : schema) {
+				log.debug(s);
+			}
+			String expectedMappingTableSql = "create table personAddress (person_id numeric(19,0) not null, " +
+					"address_id numeric(19,0) not null, primary key (person_id))";
+			assertEquals("Wrong SQL", expectedMappingTableSql, schema[2]);
+		} catch (Exception e) {
+			fail(e.getMessage());
+		}
+	}
+}


Property changes on: annotations/trunk/src/test/org/hibernate/test/annotations/onetoone/primarykey/NullablePrimaryKeyTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: annotations/trunk/src/test/org/hibernate/test/annotations/onetoone/primarykey/Person.java
===================================================================
--- annotations/trunk/src/test/org/hibernate/test/annotations/onetoone/primarykey/Person.java	                        (rev 0)
+++ annotations/trunk/src/test/org/hibernate/test/annotations/onetoone/primarykey/Person.java	2008-06-06 10:35:35 UTC (rev 14748)
@@ -0,0 +1,39 @@
+//$Id: A320.java 14736 2008-06-04 14:23:42Z hardy.ferentschik $
+package org.hibernate.test.annotations.onetoone.primarykey;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
+import javax.persistence.OneToOne;
+
+ at Entity
+public class Person {
+
+	@Id
+	private long id;
+
+	@OneToOne
+	@JoinTable(
+			name = "personAddress",
+			joinColumns = @JoinColumn(name = "person_id"),
+			inverseJoinColumns = @JoinColumn(name = "address_id")
+			)
+	private Address address;
+
+	public long getId() {
+		return id;
+	}
+
+	public void setId(long id) {
+		this.id = id;
+	}
+
+	public Address getAddress() {
+		return address;
+	}
+
+	public void setAddress(Address address) {
+		this.address = address;
+	}
+}


Property changes on: annotations/trunk/src/test/org/hibernate/test/annotations/onetoone/primarykey/Person.java
___________________________________________________________________
Name: svn:eol-style
   + native




More information about the hibernate-commits mailing list