From: <one...@us...> - 2002-12-26 03:37:08
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/map In directory sc8-pr-cvs1:/tmp/cvs-serv22482/hibernate/map Added Files: UniqueKey.java Log Message: support for multi-column unique constraints via unique-key attribute --- NEW FILE: UniqueKey.java --- //$Id: UniqueKey.java,v 1.1 2002/12/26 03:37:01 oneovthafew Exp $ package cirrus.hibernate.map; import java.util.Iterator; import cirrus.hibernate.helpers.StringHelper; import cirrus.hibernate.sql.Dialect; public class UniqueKey extends Constraint { public String sqlConstraintString(Dialect d) { StringBuffer buf = new StringBuffer(" unique ("); Iterator iter = getColumnIterator(); while ( iter.hasNext() ) { buf.append( ( (Column) iter.next() ).getName() ); if ( iter.hasNext() ) buf.append(", "); } return buf.append(")").toString(); } public String sqlConstraintString(Dialect d, String constraintName) { StringBuffer buf = new StringBuffer( d.getAddPrimaryKeyConstraintString(constraintName) ).append('('); Iterator iter = getColumnIterator(); while ( iter.hasNext() ) { buf.append( ( (Column) iter.next() ).getName() ); if ( iter.hasNext() ) buf.append(", "); } return StringHelper.replace( buf.append(")").toString(), "primary key", "unique" ); //TODO: improve this hack! } } |