标签: persistence

在javascript中,如何从另一个浏览器窗口中唯一标识同一个基于cookied的sessionId的浏览器窗口

我的Web应用程序的用户可能打开了多个浏览器窗口并指向同一页面.我希望页面中某些内容的状态(通过ajax加载)在回发中保留.我可以存储在cookie中或存储在我的服务器上.无论哪种方式,我都想不出如何区分每个窗口.

例如,假设用户Bob有两个浏览器窗口打开ListOfSomething页面.每个列表都有一个LoadedPageNumber属性,我需要保留它.否则用户在刷新时总是在第1页结束.Bob可能已加载浏览器窗口1并将其指向第5页,然后加载浏览器窗口2并将其指向第14页.如果我只是根据会话ID存储该属性,则Bob将在窗口1中获取第14页(如果他刷新).

请注意,我的状态变量实际上比这个简单的例子复杂得多,而且我无法坚持它们可能会导致很大的问题(我的应用程序存在缺陷).

我需要某种浏览器窗口ID或其他东西.它当然需要是一个跨浏览器的解决方案(IE6 +,Wekbit?+,FF2 +)

有任何想法吗?

关于相关性的注意事项:请记住,这对于将较旧的基于表单的页面与较新的启用AJAX的项目混合的情况也很有用.有时您需要回发表单,并且您不希望丢失一些客户端状态值.

ajax persistence state

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

@JoinFormula和@OneToMany定义 - 糟糕的文档

我有两个关于@JoinFormula和@OneToMany注释的问题:

  1. 如何用注释@JoinFormula@OneToMany注释限制结果的数量?

  2. 我如何定义id表达式author = id中指的是Author.id

    Author {
    
        @Id
        private Long id;
    
        @OneToMany
        @JoinFormula(value = "SELECT a FROM Article a WHERE author = id AND schedule < CURRENT_TIMESTAMP()") // limit = 15
        private List<Article> pastArticles;
    }
    
    Run Code Online (Sandbox Code Playgroud)

像这样,即使我删除schedule <了条款的一部分,我仍然将pastArticles保持为空.

谢谢!

java persistence hibernate

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

JPA Map <String,String>映射

如何在不使用Hibernate类的情况下在JPA中映射Map?

java mapping persistence hibernate

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

ehcache坚持磁盘问题

我想用Java中的ehcache做一些我认为应该非常简单的事情,但是我花了足够的时间来挫败自己的文档......

  1. 将值写入磁盘永久缓存.关掉.

  2. 再次启动并读取该值.

这是我的Java函数:

private static void testCacheWrite() {

  // create the cache manager from our configuration
  URL url = TestBed.class.getClass().getResource("/resource/ehcache.xml");
  CacheManager manager = CacheManager.create(url);
  // check to see if our cache exits, if it doesn't create it
  Cache testCache = null;
  if (!manager.cacheExists("test")) {
    System.out.println("No cache found. Creating cache...");
    int maxElements = 50000;
    testCache = new Cache("test", maxElements,
      MemoryStoreEvictionPolicy.LFU, true, null, true, 60, 30,
      true, Cache.DEFAULT_EXPIRY_THREAD_INTERVAL_SECONDS, null);
    manager.addCache(testCache);
    // add an element to persist
    Element el = new Element("key", …
Run Code Online (Sandbox Code Playgroud)

java persistence ehcache ehcache-2

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

如何知道已分离的JPA实体是否已被保留?

我的应用程序的Web UI层中有一个JPA实体实例.我想随时知道这个实体是否已经存在于数据库中,或者它是否仅存在于用户会话中.

它将在业务层,我会使用entitymanager.contains(Entity)方法,但在我的UI层中,我认为我需要一个额外的属性来指示实体是否已被保存.怎么实现呢?我正在考虑暂时关注选项:

  • 具有数据库设置的默认值的JPA属性,但在每次更新后会强制执行新读取吗?
  • 在我的代码中手动设置或由JPA自动设置的非JPA属性?

有什么建议/其他建议吗?

我正在使用JPA 1与Hibernate 3.2实现,并希望坚持标准.

java orm persistence hibernate jpa

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

对象持久性术语:'存储库'与'存储'对比'上下文'与'检索者'对比(...)

我不确定在设计程序的数据访问层(DAL)时如何命名数据存储类.

(通过数据存储类,我的意思是一个类,负责将持久化对象读入内存,或者持久保存内存中对象.)

根据两件事命名数据存储类似乎是合理的:

  • 它处理的物品类型;
  • 是否加载和/或持久存在此类对象.

Banana可以调用加载对象的类,例如BananaSource.

我不知道如何处理第二点(即Source示例中的位).我见过不同的名词显然是出于这个目的使用的:

  • 存储库:听起来很一般.这是否表示可读/写可访问的内容?
  • store:这听起来像是可能允许写访问的东西.
  • 上下文:听起来非常抽象.我用LINQ和对象关系映射器(ORM)看过这个.
    PS(几个月后):这可能适用于包含"活动"或其他监督对象的容器(工作单元模式会浮现在脑海中).
  • 猎犬:听起来像只读的东西.
  • source&sink:可能不适合对象持久性; 更适合数据流?
  • 读者/作者:其意图非常清楚,但听起来对我来说太技术了.

这些名称是否是任意的,或者每个名称背后是否有广泛接受的含义/语义差异?更具体地说,我想知道:

  • 只读数据存储的名称是什么?
  • 什么名称适用于只写数据存储?
  • 对于偶尔更新的大多数只读数据存储,哪些名称适合?
  • 对于偶尔读取的大多数只写数据存储,哪些名称适合?
  • 一个名字是否同样适合所有场景?

persistence datasource terminology data-access-layer naming-conventions

27
推荐指数
1
解决办法
5764
查看次数

主键类型:int vs long

我知道一些软件商店已经通过使用int类型作为持久类的主键来烧毁.话虽如此,并非所有表格都超过20亿.事实上,大多数人没有.

那么,你们是否只将long类型用于映射到潜在大表的类或者每个持久类只是为了保持一致?什么是行业共识?

我会暂时搁置这个问题,以便您与我们分享您的成功/恐怖故事.

java int persistence primary-key long-integer

27
推荐指数
1
解决办法
7088
查看次数

ORM /持久层建议

我正在开始一个新项目,我正在寻找一个非常好的ORM或非基于SQL的持久层.
对于这个项目,我真的不关心数据是如何持久化的,只要它可以以合理的速度查询和存储,最重要的是简单的查询.
应该无缝地处理并发(前端将在另一个层上,并且将有几个同时用户,但不一定处理相同的数据)并且我必须更少关注数据层(简单查询,自动懒惰)装载等)更好.
我还想不惜一切代价避免使用基于字符串的查询,因此支持LINQ或其他直观且可能强类型查询的工具会获得很大的好处.
最后使用POCO对象是我真正想要做的另一件事
这里是我评估的产品列表以及它们不适合的原因,只是为了让我看不到任何关于使用它们的建议:

  • NHibernate:疯狂的xml,太多的设置,高维护复杂性和模型更改的成本,会话工厂很乱,不符合我的需求
  • Castle ActiveRecord:基于NHibernate,少量文档以及与NHibernate相关的一些问题仍然适用.此外,为了获得合适的模型,它需要很多属性,一个人最好手动创建模式,并且处理关系的方式是一种耻辱.
  • Linq To SQL:缺少POCO对象,根据MS,它不会提高太多加班时间(EF是他们所承诺的)
  • 实体Framweork:虽然在第4版中POCO对象是可能的,但它们仍然非常hacky并迫使你做太多的手工工作来设置.此外,v4只是一个测试版
  • LLBLGen Pro:很好,尤其是SelfServicing适配器,但不是POCO.此外,LINQ提供商还不完善.最后,删除一组对象是不可能通过LINQ导致混合API(其中一个远非直观)和我不喜欢.
  • XPO:除了直观,非常慢,并发问题,而不是POCO
  • SubSonic SimpleRepository:几分钟我以为我在做梦.当我弄清楚事情是如何处理关系时,deam结束了

我也看过MongoDB和CouchDB,但在这些情况下,相关对象的捕获看起来像是在做正确的事情之前需要进行太多的测试.此外,它们都不提供强类型查询.

提前感谢您的建议!

.net c# orm persistence poco

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

Java:JOOQ持久性框架性能和反馈

偶然发现了一个很好的SQL构建器框架,名为JOOQ.BTW,俄语JOOQ听起来像名词意思是"虫子"(作为昆虫),"甲虫";)

如果您对JOOQ有任何反馈,那就是性能等,请分享.有关JOOQ的博客链接也很受欢迎.

java persistence sqlbuilder jooq

26
推荐指数
1
解决办法
5008
查看次数

保存后刷新并获取实体(JPA/Spring Data/Hibernate)

我有这两个简单的实体SomethingProperty.该Something实体与多对一关系Property,因此当我创建一个新Something行时,我分配一个现有的Property.

东西:

@Entity
@Table(name = "something")
public class Something implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

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

    @Column(name = "owner")
    private String owner;

    @ManyToOne
    private Property property;

    // getters and setters

    @Override
    public String toString() {
        return "Something{" +
            "id=" + getId() +
            ", name='" + getName() + "'" +
            ", owner='" + …
Run Code Online (Sandbox Code Playgroud)

java persistence hibernate jpa spring-data-jpa

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