[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