在EJB 3.1中缓存只读实体bean

时间:2012-05-06 16:31:13

标签: glassfish-3 ejb-3.1

如何标记实体bean(假设我有一个“Country”实体bean,其中包含一个永远不会更改的国家/地区的记录)在带有EJB 3.1的Glassfish 3.1上只读?

似乎有一种方法可以将列标记为不可变,但信息非常稀缺,无论我尝试过什么都没有真正起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

使用EclipseLink,您可以使用EclipseLink的JPA exensions并将@ReadOnly放在实体上。对于查询,您可以将查询提示READ_ONLY添加到查询中:

query.setHint(QueryHints.READ_ONLY, HintValues.TRUE);

有关详细信息,请参阅http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_%28ELUG%29#Using_EclipseLink_JPA_Extensions_for_Declaration_of_Read-Only_Classes

http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_%28ELUG%29#Read_Only