有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我正试图使用Datastax 4.2.2编写DAO接口,但出现了几个编译错误

我有以下几点建议:

@Table(name = "order", readConsistency = "QUORUM", writeConsistency = "QUORUM")
public class Order {    
    
    @Column(name = "id")
    @PartitionKey
    private String id;

    @Column(name = "customer_id")
    private String customerId;

    @Column(name = "loyalty_id")
    private String loyaltyId;

    @Column(name = "customer_email")
    private String customerEmail;

    public Order() {

    }
    ... getters and setters
}

现在,我正在编写OrderDao,如下所示:

    import com.datastax.oss.driver.api.mapper.annotations.*;

    @Dao
    public interface OrderDao {
            @Select
            Order findById(String orderId);

            @Insert
            void save(Order order);

            @Delete
            void delete(Order order);
    }

当我做./gradlew build时,我会得到以下错误:

error: Invalid return type: Select methods must return one of [ENTITY, OPTIONAL_ENTITY, FUTURE_OF_ENTITY, FUTURE_OF_OPTIONAL_ENTITY, PAGING_ITERABLE, FUTURE_OF_ASYNC_PAGING_ITERABLE]
    Order findById(String orderId);
error: Insert methods must take the entity to insert as the first parameter
    void save(Order order);
         ^
error: Missing entity class: Delete methods that do not operate on an entity instance must have an 'entityClass' argument
    void delete(Order order);
         ^

我通过以下文档实现:https://docs.datastax.com/en/developer/java-driver/4.2/manual/mapper/。可能的原因是什么

谢谢


共 (1) 个答案

  1. # 1 楼答案

    Order类上缺少@Entity注释:

    @Entity
    @Table(name = "order", readConsistency = "QUORUM", writeConsistency = "QUORUM")
    public class Order {