如何正确使用Hibernate @Index注释?

5 java grails hibernate indices

我有一个java类用作实体,有2个类继承自它.这个类有一些索引,但这些索引没有出现在数据库中.这是我的java超类代码

import java.io.Serializable;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import javax.persistence.Version;
import javax.persistence.OneToMany;
import org.hibernate.annotations.GenericGenerator;

@Entity
@Table(name="service", uniqueConstraints = {@UniqueConstraint(columnNames={"name"})})
@org.hibernate.annotations.Table(appliesTo = "service", 
                                 indexes = { @Index(name = "service_name", columnNames = { "name" }), 
                                 @Index(name = "service_description", columnNames = { "description" }),
                                 @Index(name = "service_accessNumber", columnNames = { "access_number" })   
                     })
public class Service implements Serializable {

@Column(name="access_number",length = 95,nullable=false)
    String accessNumber;

@Column(length=80,nullable=false)
    String name;

@Column(length=140)
    String description;

}
Run Code Online (Sandbox Code Playgroud)

有谁知道我的问题是什么注意:我的所有java类都有这个问题,但这是其中之一.所有类中的代码都与此相同

编辑:我构建一个xml文件并将其放在一个grails项目中,当我运行这个项目时,创建了数据库

Geo*_*zen 1

我有同样的问题,但我找到了解决方案,并且对我来说效果很好,尝试一下,它可能对你有帮助

in your DataSource.groovy file in your grails project make sure that under 
environment dbCreate is not equal to "update": if it is equal to "update", change 
it to "create".
Run Code Online (Sandbox Code Playgroud)

这个效果很好,试试吧


归档时间:

查看次数:

24226 次

最近记录:

12 年,8 月 前