JPA 2.0作为XML的唯一约束

时间:2012-04-11 13:22:16

标签: java jpa jpa-2.0

我正在使用JPA 2.0,并希望使用XML而不是注释创建唯一约束。

带注释的类看起来像这样:

@Entity
public class Person {
    @Id
    @GeneratedValue
    private Long id;
    @Column(unique=true)
    private String name;

    // ..
}

这样的orm.xml文件 - 但它缺少唯一约束:

<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_2_0.xsd"
    version="2.0">
    <entity class="kiosk.model.Person">
        <attributes>
            <id name="id">
                <generated-value strategy="AUTO" />
            </id>
            <basic name="name" />

            <!-- .. -->
        </attributes>
    </entity>
</entity-mappings>

如何使用XML向JPA 2.0类添加唯一约束?

1 个答案:

答案 0 :(得分:10)

<basic name="name">
    <column unique="true"/>
</basic>

请参阅http://en.wikibooks.org/wiki/Java_Persistence/Basic_Attributes