标签: spring-data

com.datastax.driver.core.exceptions.InvalidQueryException:unconfigured table schema_keyspaces

我正在尝试使用cassandra配置spring数据.但是当我的应用程序在tomcat中部署时,我收到了轰鸣声错误.

当我检查连接时,它可用于给定端口.(127.0.0.1:9042).我有下面的堆栈跟踪和弹簧配置.有没有人对这个错误有所了解?

完整堆栈跟踪:

2015-12-06 17:46:25 ERROR web.context.ContextLoader:331 - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cassandraSession': Invocation of init method failed; nested exception is com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /127.0.0.1:9042 (com.datastax.driver.core.exceptions.InvalidQueryException: unconfigured table schema_keyspaces))
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1572)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:736)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:759)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:434)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4994)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5492)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1245)
    at …
Run Code Online (Sandbox Code Playgroud)

java spring cassandra spring-data datastax

26
推荐指数
2
解决办法
3万
查看次数

Spring-Data JPA CrudRepository返回Iterable,将它转换为List是否可以?

我正在编写一个代码生成工具来使用Spring-Data-Jpa为Spring启动应用程序生成后端连接代码,而且我很温和地告诉我CrudRepository中的方法返回Iterable而不是List,因为iterable不能提供足够的功能,但List,所以我正在寻找将iterable转换为列表的最佳方法.

我看到这篇关于将迭代更改为集合的帖子我想知道,为什么不将它转换为List,而不是使用像Guava这样的库或实现我自己的函数来进行转换?这样做我不知道有什么问题吗?

编辑:我问,因为它是一个代码生成工具,使它生成引入第三方库依赖的代码是不合理的,编写我自己的函数来进行转换也不合理,因为它必须住在某个地方而且我宁愿在生成的代码中没有它.一个简单的演员会有用,如果有点难看,但只是想知道是否有我遗失的东西?

java spring spring-data spring-data-jpa spring-boot

26
推荐指数
4
解决办法
3万
查看次数

使用SpringData创建只读存储库

是否可以使用Spring Data创建只读存储库?

我有一些实体链接到视图和一些子实体,我想为其提供一些存储库,其中包含一些方法findAll(),findOne()以及一些带有@Query注释的方法.我想避免提供类似的方法save(…),delete(…)因为它们没有任何意义,可能会产生错误.

public interface ContactRepository extends JpaRepository<ContactModel, Integer>, JpaSpecificationExecutor<ContactModel> {
    List<ContactModel> findContactByAddress_CityModel_Id(Integer cityId);

    List<ContactModel> findContactByAddress_CityModel_Region_Id(Integer regionId);

    // ... methods using @Query

    // no need to save/flush/delete
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

java spring jpa spring-data spring-data-jpa

25
推荐指数
5
解决办法
2万
查看次数

MongoDB嵌入式对象没有ID(空值)

我对使用Spring Data的MongoDB有疑问.我有这些域类:

@Document
public class Deal  {
    @Id
    private ObjectId _id;
    private Location location;
    private User user;
    private String description;
    private String title;
    private String price;
    private boolean approved;
    private Date expirationDate;
    private Date publishedDate;
}

@Document
public class Location {
    @Id
    private ObjectId _id;
    private Double latitude;
    private Double longitude;
    private String country;
    private String street;
    private String zip;
}

@Document
public class User {
    @Id
    private ObjectId _id;
    private String email;
    private String password;
    private String profile_image_url;
    private …
Run Code Online (Sandbox Code Playgroud)

java spring mongodb spring-data

25
推荐指数
4
解决办法
3万
查看次数

Spring MVC 3:将Spring-Data页面作为JSON返回

我有一个用Spring-Data制作的数据访问层.我现在正在创建一个Web应用程序.这个控制器方法应返回格式为JSON 的Spring-Data页面.

这样的页面是一个列表,其中包含额外的分页信息,例如记录总数等等.

这是可能的,如果是的话怎么样?

与此直接相关,我可以定义属性名称的映射吗?例如.意思是我需要定义如何在JSON中命名分页信息属性(与页面不同).这可能吗?怎么样?

java json spring-mvc spring-data spring-hateoas

25
推荐指数
2
解决办法
2万
查看次数

有没有办法在Spring Data @Query注释值中使用常量?

我不想硬编码常量值,我宁愿通过引用变量指定它们.

例如,而不是写下一个查询:

@Query(value = "SELECT u FROM UserModel u WHERE u.status = 1")
Run Code Online (Sandbox Code Playgroud)

..我想提取硬编码值'1'并写下如下内容:

@Query(value = "SELECT u FROM UserModel u WHERE u.status = UserModel.STATUS_ACTIVE")  //doesn't compile
Run Code Online (Sandbox Code Playgroud)

有没有办法像弹簧数据查询中的第二个例子那样指定常量?

java spring jpql spring-data

25
推荐指数
4
解决办法
3万
查看次数

如何防止从我的MongoRepository导出某些HTTP方法?

我正在使用spring-data-rest,我有一个像这样的MongoRepository:

@RepositoryRestResource
interface MyEntityRepository extends MongoRepository<MyEntity, String> {
}
Run Code Online (Sandbox Code Playgroud)

我想允许GET方法,但禁用PUT,POST,PATCH和DELETE(只读Web服务).

根据http://docs.spring.io/spring-data/rest/docs/2.2.2.RELEASE/reference/html/#repository-resources.collection-resource,我应该能够这样做:

@RepositoryRestResource
interface MyEntityRepository extends MongoRepository<MyEntity, String> {

    @Override
    @RestResource(exported = false)
    public MyEntity save(MyEntity s);

    @Override
    @RestResource(exported = false)
    public void delete(String id);

    @Override
    @RestResource(exported = false)
    public void delete(MyEntity t);
}
Run Code Online (Sandbox Code Playgroud)

它似乎不起作用,因为我仍然可以执行PUT,POST,PATCH和DELETE请求.

spring spring-data spring-data-rest spring-data-mongodb

25
推荐指数
2
解决办法
8646
查看次数

Spring Data - 如果参数为空值,则忽略该参数

我想要一个带有两个参数的spring数据存储库接口.有没有办法让它有以下行为?

MyObject findByParameterOneAndParameterTwo( String parameterOne, String parameterTwo);
Run Code Online (Sandbox Code Playgroud)

如果两个参数都有一个值,我希望它能正常运行并为两个值执行"AND".

例如,如果第二个参数为null,则它仅搜索ParameterOne

有什么建议?

spring spring-data spring-boot

25
推荐指数
5
解决办法
2万
查看次数

如何为Spring数据中的类配置MongoDb集合名称

我有一个Products在我的MongoDB数据库中调用的集合,它由IProductPrice我的Java代码中的接口表示.以下存储库声明会导致Spring Date查看该集合db.collection: Intelliprice.iProductPrice.

我希望它将其配置为db.collection: Intelliprice.Products使用外部配置而不是放置@Collection(..)注释IProductPrice.这可能吗?我怎样才能做到这一点?

public interface ProductsRepository extends
    MongoRepository<IProductPrice, String> {
}
Run Code Online (Sandbox Code Playgroud)

java spring mongodb spring-data spring-data-mongodb

24
推荐指数
3
解决办法
3万
查看次数

Spring数据CrudRepository和悲观锁

我正在使用

  • Spring Boot 1.4.2
  • Spring Data JPA 1.10.5
  • PostgreSQL 9.5数据库

我希望findOne在我的Spring Data存储库中有一个带有悲观锁的findOne方法,该方法与已经提供的方法分开.

根据这个答案,我写道:

public interface RegistrationRepository extends CrudRepository<Registration, Long> {
    @Lock(LockModeType.PESSIMISTIC_WRITE)
    @Query("select r from Registration r where r.id = ?1")
    Registration findOnePessimistic(Long id);
}
Run Code Online (Sandbox Code Playgroud)

这几乎可行.

不幸的是,这不会刷新实体管理器缓存中我的实体的先前实例.我有两个并发请求更新我的注册状态

  • 第二个等待第一个提交的事务
  • 第二个没有考虑第一个的变化.

因此破坏了行为.

任何线索为什么@Lock没有开箱即用刷新实体经理?

更新

这是请求的示例代码:

public interface RegistrationRepository extends CrudRepository<Registration, Long> {

    @Lock(LockModeType.PESSIMISTIC_WRITE)
    @Query("select r from registration_table r where r.id = ?1")
    Registration findOnePessimistic(Long id);

}

public void RegistrationService {

    @Transactional
    public void …
Run Code Online (Sandbox Code Playgroud)

java spring spring-data spring-data-jpa

24
推荐指数
1
解决办法
6348
查看次数