小编Pio*_*otr的帖子

我可以为@Cacheable设置TTL吗?

我正在尝试@CacheableSpring 3.1 的注释支持,并想知道是否有任何方法可以通过设置TTL使缓存数据在一段时间后清除?现在我可以看到我需要通过使用它来清除它@CacheEvict,并且通过使用它@Scheduled我可以自己做一个TTL实现但是对于这么简单的任务似乎有点多了?

java spring

87
推荐指数
8
解决办法
8万
查看次数

在JPA/hibernate中映射UUID的问题

根据文档,hibernate 3.6应该支持java.util.UUID类型.但是当我将其映射为:

@Id protected UUID uuid;
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [test-applicationContext.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: persistenceUnit] Unable to build EntityManagerFactory
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420) ~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) ~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) ~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) ~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) ~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) ~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findDefaultEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:529) ~[spring-orm-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:495) ~[spring-orm-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor$PersistenceElement.resolveEntityManager(PersistenceAnnotationBeanPostProcessor.java:656) ~[spring-orm-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor$PersistenceElement.getResourceToInject(PersistenceAnnotationBeanPostProcessor.java:629) ~[spring-orm-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:147) ~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84) ~[spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:338) ~[spring-orm-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    ... …
Run Code Online (Sandbox Code Playgroud)

java uuid hibernate jpa

27
推荐指数
4
解决办法
5万
查看次数

域驱动设计(DDD)陷阱

我对DDD很新,想知道你可能想要分享的任何陷阱.我将在稍后总结一下,让更多的新手阅读:)

谢谢

截至目前的摘要:

  • 贫困域模型,其中您的实体主要仅承载数据且不包含业务逻辑
  • 不充分使用有界上下文
  • 过分关注模式

有关于这个主题一个很好的展示,以及在这里(视频).

domain-driven-design

23
推荐指数
5
解决办法
4882
查看次数

无法在postgresql hibernate中使用名为"user"的表

当我尝试使用JPA/hibernate持久化一个名为"user"的实体时,它不起作用.该表未创建,因为user是postgresql中的保留字.除了命名表之外还有什么方法可以使其工作吗?

postgresql hibernate jpa

19
推荐指数
5
解决办法
1万
查看次数

如何计算子查询返回的行数?

我想做这样的事情:

select count(*) from (select ...)
Run Code Online (Sandbox Code Playgroud)

(就像在SQL中一样),但在JPA中.

关于我将如何做的任何想法?

jpa jpql criteria-api jpa-2.0

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

如何在JPA critera API中做一个独特的计数?

我想这样做但是使用标准API代替:

select count(distinct e) from Event e, IN(e.userAccessPermissions) p where p.principal = :principal and p.permission in (:permissions)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

java hibernate jpa criteria-api

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

如何计算多列的不同

我如何使用JPA标准API执行以下操作:

select count(distinct column1, column2) from table
Run Code Online (Sandbox Code Playgroud)

使用CriteriaBuilder.countDistinct在一个列/路径上执行此操作很简单,但是如何在两个路径/列上执行此操作?

hibernate jpa jpa-2.0

10
推荐指数
1
解决办法
4242
查看次数

Spring ACL是一个很好的ACL实现吗?

我读过有关Spring ACL的内容,但它看起来并不是很有能力.例如:

  1. 无法使用权​​限Y列出X类型的所有对象
  2. 无法自动为新部署创建架构

您使用什么ACL?将ACL与域模型分离是否巧妙?

java spring acl spring-security spring-security-acl

7
推荐指数
1
解决办法
5909
查看次数

没有僵尸或未初始化变量的神秘EXC_BAD_ACCESS

我的应用程序崩溃在以下行:

sqlite3_prepare_v2(db, [sql UTF8String], -1, &pStmt, 0);
Run Code Online (Sandbox Code Playgroud)

在FMDB sqlite包装器的方法中:

- (FMResultSet *)executeQuery:(NSString *)sql withArgumentsInArray:(NSArray*)arrayArgs orVAList:(va_list)args {

if (![self databaseExists]) {
    return 0x00;
}

if (inUse) {
    [self warnInUse];
    return 0x00;
}

[self setInUse:YES];

FMResultSet *rs = nil;

int rc                  = 0x00;
sqlite3_stmt *pStmt     = 0x00;
FMStatement *statement  = 0x00;

if (traceExecution && sql) {
    NSLog(@"%@ executeQuery: %@", self, sql);
}

if (shouldCacheStatements) {
    statement = [self cachedStatementForQuery:sql];
    pStmt = statement ? [statement statement] : 0x00;
}

int numberOfRetries = 0; …
Run Code Online (Sandbox Code Playgroud)

objective-c

7
推荐指数
1
解决办法
4107
查看次数

JPA/hibernate大集合

在具有两种类型实体的方案中,父级和子级:

家长 - @OneToMany收集儿童;

默认设置是对子集合进行延迟加载.这种模式适用于少数儿童,但如果数量增长很大,这似乎是不可持续的.因此,对于我认为子项数量非常大的场合,我使用了分页的服务方法(比如"getChildren(Parent parent,int offset,int count)").

问题是:这是处理这种情况的最佳方法吗?还是我错过了什么?

谢谢,彼得

java orm spring hibernate jpa

4
推荐指数
2
解决办法
2616
查看次数