@Entity
@Table(name="ACCOUNT",uniqueconstrain...@unique(columnNames="ACCOUNTNAME"))
public class Account {
        @Id
        @GeneratedValue(strategy=GenerationType.AUTO)
        private Integer accountId = null;
        @Basic
        private String accountName = null;
        @Basic
        private Date creationDate = null;
        @ManyToMany(cascade=CascadeType.ALL)
        private List<Host> hostList = new ArrayList<Host>();

....


Results in 
compile:
    [javac] Compiling 4 source files to /Users/polliard/Workspace/Example 
JPA/build
    [javac] /Users/polliard/Workspace/Example 
JPA/src/com/trukoda/examples/jpa/Account.java:19: incompatible types
    [javac] found   : org.apache.openjpa.persistence.jdbc.Unique
    [javac] required: javax.persistence.UniqueConstraint
    [javac] 
@Table(name="ACCOUNT",uniqueconstrain...@unique(columnNames="ACCOUNTNAME"))
    [javac]                                          ^
    [javac] Note: /Users/polliard/Workspace/Example 
JPA/src/com/trukoda/examples/jpa/MainQuery.java uses unchecked or unsafe 
operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 1 error


So if that example does exist it must not compile correctly.

Thanks for taking a look though.

Thomas
On Jan 19, 2010, at 10:01 PM, Ravi Palacherla wrote:

> Hi,
> 
> http://java.sun.com/javaee/5/docs/api/index.html?javax/persistence/Table.html
> 
> As per the above link the one mentioned in openJPA document is  supposed to 
> work.
> (http://openjpa.apache.org/builds/1.0.2/apache-openjpa-1.0.2/docs/manual/ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_unique)
> 
> I also saw the following in openJPA example:
> 
> @Entity
> @Table(name="ART", uniqueconstrain...@unique(columnNames="TITLE"))
> public class Article {
>    ...
> }
> 
> http://openjpa.apache.org/builds/latest/docs/manual/manual.html#jpa_overview_mapping_identityex
> 
> Please try if the above works.
> 
> Regards,
> Ravi.
> 
> -----Original Message-----
> From: Thomas Polliard [mailto:[email protected]] 
> Sent: Tuesday, January 19, 2010 7:50 PM
> To: [email protected]
> Subject: Question about Unique Contraint
> 
> public class Account {
>       @Id
>       @GeneratedValue(strategy=GenerationType.AUTO)
>       private Integer Id = null;
>       @Unique
>       private String accountName = null;
>       @Basic
>       private Date creationDate = null;
>       @ManyToMany(cascade=CascadeType.ALL)
>       private List<Host> hostList = new ArrayList<Host>();
> 
> However, in the database it actually doesn't restrict the accountName but 
> rather forces a new ID to be generated with the same accountName. What page 
> can I find out about creating a Unique constraint that mimics this in pseudo 
> database ddl
> 
> create table Account (
>       Id              int4            PRIMARY KEY,
>       accountname     varchar(255)    NOT NULL UNIQUE,
>       .....
> 
> 
> Thanks for the assistance.
> 
> Thomas
> 
> 
> PS:
> 
> http://openjpa.apache.org/builds/1.0.2/apache-openjpa-1.0.2/docs/manual/ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_unique
> 
> Doesn't appear to be the proper Annotation.
> 

Reply via email to