使用 Java 代码创建休眠表索引



我在Java项目中使用SQLLight数据库进行了Hibernate。我使用简单的 Java 类来执行数据库操作:

public class Db
{
    private SessionFactory sessionFactory;
    private Session session;
private Db()
    {
        sessionFactory = new Configuration().configure().buildSessionFactory();
    }
    private void open()
    {
        session = sessionFactory.openSession();
        session.beginTransaction();
    }
...
}

Evrything工作正常,但现在我需要在我的表字段中创建一个索引 - DocName .

CREATE TABLE [Doc] ( [Id] INTEGER PRIMARY KEY AUTOINCREMENT, [DocName] TEXT, [Job] TEXT)

我需要在我的 java 代码中创建索引并将其应用于现有的数据库文件。怎么做?

这应该在 java 1.4 中完成。

你应该使用代码优先(这是一个不错的教程)。

Hibernate可以作为JPA提供程序运行。使用 JPA(类似于实体框架),您可以创建 POJO 并对其字段进行批注,以便向 JPA 提供程序提供有关如何处理持久性的指令。

在代码中,这在您的 DAO 中如下所示:

@Id // @Id indicates that this it a unique primary key
@GeneratedValue // @GeneratedValue indicates that value is automatically generated by the server
private Long id;
@Column(length = 255) // the optional @Column allows us makes sure that the name is limited to a suitable size and is unique
private String docName;
@Column(length = 255)
private String job;

要索引 docName,您需要通过注释将索引添加到 DAO: 更多信息

@Table(name = "Doc", indexes = { @Index("docName")})
@Entity
class Doc{
      @Index(docName = "docName")
      private String docName;
}

最新更新