<p>I want to make an entity that has an autogenerated primary key, but also a unique compound key made up of two other fields. How do I do this in JPA?<br>
I want to do this because the primary key should be used as foreign key in another table and making it compound would not be good.</p>

<p>In the following snippet, I need the command and model to be unique. pk is of course the primary key.</p>

<pre><code>@Entity
@Table(name = "dm_action_plan")
public class ActionPlan {
    @Id
    private int pk;
    @Column(name = "command", nullable = false)
    private String command;
    @Column(name = "model", nullable = false)
    String model;
}
</code></pre>

You can use
```
@UniqueConstraint
```
something like this :
```
```
@Entity
@Table(name = "dm_action_plan",
       uniqueConstraints={ @UniqueConstraint(columnNames= "command","model") } )
public class ActionPlan {
    @Id
    private int pk;

    @Column(name = "command", nullable = false)
    private String command;

    @Column(name = "model", nullable = false)
    String model;
}
```
```
This will allow your JPA implementation to generate the DDL for the unique constraint.