小编Dai*_*mon的帖子

Spring Boot + JPA2 + Hibernate - 启用二级缓存

我正在使用带有JPA2的Spring Boot 1.2.5来注释实体(并将hibernate作为JPA实现的底层).

我想在该设置中使用二级缓存,因此实​​体使用了注释 @javax.persistence.Cacheable

我还在application.properties中添加了以下内容:

spring.jpa.properties.hibernate.cache.use_second_level_cache=true
spring.jpa.properties.hibernate.cache.use_query_cache=true
spring.jpa.properties.hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
Run Code Online (Sandbox Code Playgroud)

在启动期间,hibernate抱怨缺乏,EhCacheRegionFactory所以我也把它添加到pom:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-ehcache</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)

但仍然是查询类似于entityManager.find(Clazz.class, pk)触发数据库查询而不是使用缓存数据.

知道缺少什么吗?

hibernate second-level-cache jpa-2.0 spring-boot

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

如何将自己的项目添加到公共maven存储库?

我想将我的项目添加到公共maven存储库,以便社区可以使用它.它不一定是maven中心 - 只是任何类型的开源代码的公共和免费存储库.

我怎么做(以最简单的方式)?

add repository artifact maven

14
推荐指数
1
解决办法
5718
查看次数

更改现有表的fillfactor

是否可以在PostgreSQL 8.4中更改现有表的fillfactor?

或者我是否必须使用新的fillfactor创建表的副本 - 由于外键问题,这不是最佳方法?

postgresql fillfactor

8
推荐指数
1
解决办法
8333
查看次数

Cassandra互斥锁定(同步)

无论如何使用cassandra内置函数同步客户端?

我需要执行一些操作,这些操作需要与所有其他客户端同步(互斥).

在RDBMS中,我可以锁定整个表或为同步目的准备特殊表,并在其上使用SELECT ... FOR UPDATE.

我可以在没有任何第三方应用程序的情况下与Cassandra达成协议吗?如果不是最好的方法是什么?优选的语言是Java和Python.

synchronization locking mutual-exclusion cassandra

8
推荐指数
1
解决办法
5071
查看次数

PHP ORM具有完整的复合主/外键支持

我正在寻找PHP5 ORM,它完全支持基于复合主键和外键的复合(多列)关系.

我希望Doctrine 2可以解决这个问题,但事实并非如此.它是关系数据建模的基本功能,但我所知道的PHP ORM软件都不支持它.

我最近发现SQLAlchemy有完全支持,但我需要PHP的东西,而不是Python.

php orm key composite relationship

6
推荐指数
1
解决办法
3449
查看次数

返回类型的C++ 11方法模板特化

我有以下课程:

class Foo {
 public:
  template <typename T>
  T bar() {
      cout << "Called with return type: " << typeid(T).name() << endl;

      T t = //... (some implementation here)

      return t;
  }
}
Run Code Online (Sandbox Code Playgroud)

它以下列方式调用:

Foo foo;
int i = foo.bar<int>();
long l = foo.bar<long>();
Run Code Online (Sandbox Code Playgroud)

现在,我想对调用函数的情况有不同的专业化 shared_ptr<T>

Foo foo;
foo.bar<shared_ptr<int>>();
foo.bar<shared_ptr<long>>();
Run Code Online (Sandbox Code Playgroud)

但是我当然不想为每种类型创建完整的专业化.是否有可能实现这种行为(如果需要可以基于特质)?

c++ templates specialization template-specialization c++11

5
推荐指数
3
解决办法
1104
查看次数

ECC PublicKey的Java紧凑表示

java.security.PublicKey#getEncoded() 返回键的X509表示,在ECC的情况下,与原始ECC值相比增加了很多开销.

我希望能够在大多数紧凑的表示中将PublicKey转换为字节数组(反之亦然)(即尽可能小的字节块).

KeyType(ECC)和具体曲线类型是预先已知的,因此不需要对它们的信息进行编码.

解决方案可以使用Java API,BouncyCastle或任何其他自定义代码/库(只要许可证并不意味着需要使用它的开源专有代码).

java encoding cryptography elliptic-curve public-key

4
推荐指数
1
解决办法
2825
查看次数

C++类型特征提取模板参数的特化值

我有以下模板:

template<typename T, const char *name_ >
struct named {
  typedef T type;
  static constexpr const char *name = name_;
};
Run Code Online (Sandbox Code Playgroud)

我想要有类型特征:

  • 如果参数类型为"named",则会提取类型和名称(2个不同)
  • 如果参数是不同的类型,将提取原始类型和空字符串.

例:

template<typename T>
void foo() {
  typename cppdi::extract_type<T>::type x;

  std::cout << "type: " << typeid(x).name() <<
               ", name: " << cppdi::extract_name<T>::value << std::endl;
}

char bar[] = "bar";

void test() {
  foo<int>();             // type: i, name:
  foo<named<int, bar>>(); // type: i, name: bar
}
Run Code Online (Sandbox Code Playgroud)

是否有可能实现这样的extract_typeextract_name

c++ type-traits c++11

0
推荐指数
1
解决办法
244
查看次数