当前位置: 首页 > 知识库问答 >
问题:

Spring数据支持,使用Java实体创建表

韩良策
2023-03-14

我正在使用Spring数据卡桑德拉,与卡桑德拉数据库连接,配置文件扩展了抽象卡桑德拉配置和覆盖功能 -

@Override
public SchemaAction getSchemaAction() {
    return SchemaAction.RECREATE_DROP_UNUSED;
}

@Override
public String[] getEntityBasePackages() {
    return new String[] {"com.example"};
}

我的目标是用@Table注释从com.example包中提到的实体在Cassandra中自动创建表。比如说-

package com.example;

import org.springframework.data.cassandra.mapping.PrimaryKey;
import org.springframework.data.cassandra.mapping.Table;

@Table(value="goal")
public class Goal {

    @PrimaryKey
    private int id;

    private String description;

    public Goal(int id, String description) {
        this.id = id;
        this.description = description;
    }

    public Goal() {

    }

    public int getId() {
        return id;
    }

    public String getDescription() {
        return description;
    }


    public void setId(int id) {
        this.id = id;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    @Override
    public String toString() {
        return "Goals [id=" + id + ", description=" + description + "]";
    }

}

对于这个实体,使用给定的配置,应该在spring初始化期间创建一个表,但是它没有这样做。不过也没有例外,它并没有在Cassandra中创建任何东西。任何帮助都将不胜感激。谢了。

共有1个答案

麻茂材
2023-03-14

我也面临着类似的要求和以下工作: -

@Bean
public CassandraClusterFactoryBean cluster() {

    CassandraClusterFactoryBean cluster = new CassandraClusterFactoryBean();
    cluster.setContactPoints("127.0.0.1");
    cluster.setPort(9042);
    return cluster;
}    
public String[] getEntityBasePackages() {
    return new String[] { "com.user.entity" };
}

protected String getKeyspaceName() {
    return "user_db";
}

public SchemaAction getSchemaAction() {
    return SchemaAction.CREATE_IF_NOT_EXISTS;
}

一旦你的上下文是,你可以检查卡桑德拉的表格。假设您的密钥空间已经在卡桑德拉中创建。如果您还想即时创建密钥空间,请告知。

 类似资料:
  • 问题内容: 我有一个由DBA创建的表。我想为每个表提供实体类以进行进一步查询。有人可以建议如何使用eclipse自动创建实体类吗? 问题答案: 如果使用JPA进行持久化,则可以使用Eclipse提供的“ JPA工具”从表生成Java实体类。 这是教程

  • 我有一个映射到数据库视图的实体,我想避免spring为它创建表,我尝试了@Immutable注释,但它不起作用,我还希望程序在没有创建实体的情况下从脚本文件为它创建视图。 感谢任何帮助。 谢谢。

  • 我有一个DBA创建的表。我想为每个表提供实体类以供进一步查询。有人能建议如何使用eclipse自动创建实体类吗?

  • 问题内容: 我试图将edmx实体模型添加到Visual Studio 2013中的C#/ Web项目中。我的问题是未创建文件。 我执行以下步骤: 给项目起个名字 从数据库中选择“ EF Designer” 从已经成功测试成功连接到MySQL数据库的下拉列表(localhost)中选择连接 选中“将webc.config中的连接设置另存为”选项 我单击“下一步”,窗口消失,然后回到代码窗口 没有创建

  • 要执行,我在下面没有看到此选项 相反,它可以在, 问题_0:这是唯一的选择吗?为什么上面两个API都没有呢? 请注意,boundListOps仍然通过将注册的密钥传递给opsForList来固有地使用opsForList。 好的,我什么时候应该直接使用? 问题2:如果我使用,我需要在下关闭()这个连接吗?(因为这是当前支持的代码)。 回答3:这是我的问题,我已经这么说了。 在获取DefaultBo

  • 26.2. Spring的元数据支持 为了与Spring提供的其他重要概念的抽象相一致,Spring提供了一个对元数据实现的门面(facade), 以org.springframework.metadata.Attributes接口的形式来实现。 这个门面因以下几个原因而显得很有价值: 尽管Java 5提供了语言级的元数据支持,但提供这样一个抽象还是能带来价值: Java 5的元数据是静态的。它是