标签: persistence

在多个列上创建复合唯一约束

这是我的模特:

class User {...}
class Book {
  User author;
  int number;
}
Run Code Online (Sandbox Code Playgroud)

每个书籍编号从每位作者1开始,并向上递增.所以我们将获得John Grisham的书籍1,2,3,George Martin的书籍1 ...等等......

是否有一个我可以放置的独特约束Book,这可以保证我们没有同一作者的两本具有相同编号的书籍?类似@Column(unique = true),但约束只适用于复合Author X number

java persistence jpa playframework

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

使用hibernate.enable_lazy_load_no_trans解决Hibernate Lazy-Init问题

我一直患有臭名昭着的hibernate异常

org.hibernate.LazyInitializationException: could not initialize proxy - no Session
Run Code Online (Sandbox Code Playgroud)

现在社区正在欢呼

<property name="hibernate.enable_lazy_load_no_trans" value="true"/>

说它解决了问题,但小心使用它.

他们的意思是谨慎使用它?这个属性实际上做了什么?

请给我任何见解.提前致谢.

java persistence hibernate jpa lazy-initialization

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

如何使用NHibernate持久化枚举

有没有办法使用NHibernate将枚举持久保存到数据库?这是一个包含代码和枚举中每个值的名称的表.

我想保留没有实体的枚举,但仍然有一个从所有其他引用实体到枚举表的外键(枚举的int表示).

nhibernate enums persistence foreign-keys

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

memcached的替代品,可以持久存储到磁盘

我目前正在使用memcached和我的java应用程序,总的来说它工作得很好.

对我来说最重要的memcached的功能是:

  • 它很快,因为读取和写入都在内存中而不会触及磁盘
  • 它只是一个键/值存储(因为这是我所有的应用程序需求)
  • 它是分布式的
  • 它通过让每个对象只在一台服务器上运行来有效地使用内存
  • 它不假设对象来自数据库(因为我的对象不是数据库对象)

但是,有一件事我想做,memcached无法做到.我想定期(可能每天一次)将缓存内容保存到磁盘.我希望能够从保存的磁盘映像中恢复缓存.

磁盘保存不需要非常复杂.如果在保存期间添加了新的键/值,我不在乎它是否包含在保存中.如果在保存发生时修改了现有的键/值,则保存的值应该是旧值或新值,但我不关心哪一个.

任何人都可以推荐另一种缓存解决方案(免费或商业),它具有对我很重要的所有(或很大一部分)memcached功能,并且还允许从磁盘保存和恢复整个缓存?

java memcached persistence distributed caching

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

是否可以分离Hibernate实体,以便对象的更改不会自动保存到数据库中?

我有Hibernate实体,我必须转换为JSON,我必须在实体中翻译一些值,但是当我翻译值时,这些值会立即保存到数据库,但我不想将这些更改保存到数据库中.这个问题是否有任何解决方法?

java persistence hibernate

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

使用JPA时@Entity和@Table中的name参数有什么区别?

我使用JPA2两者@Entity@Table有一个name属性,例如:

@Entity(name="Foo")
@Table (name="Bar")
class Baz
Run Code Online (Sandbox Code Playgroud)

我应该使用哪些,哪些是可选的?

在我的具体情况下,我有一个类User和一个类Group,它有额外的要求(据我所知),因为它们是SQL中的保留字.

在编写查询时,工作解决方案将如何显示以及我将以哪个名称引用实体?

更新.我添加name="GROUPS"了两个注释Group并执行了相同的操作User,但现在我收到此错误:

Exception Description: The table [USERS] is not present in this descriptor.
Descriptor: RelationalDescriptor(example.Group --> [DatabaseTable(GROUPS)])
Run Code Online (Sandbox Code Playgroud)

Internal Exception: java.sql.SQLException: Table not found in statement [SELECT ID, MAXIMUMROLE, MEMBERSHIPS_ID FROM USERS]
Run Code Online (Sandbox Code Playgroud)

java database persistence annotations jpa

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

如何在Django模型上存储字典?

我需要在Django模型中存储一些数据.这些数据不等于模型的所有实例.

起初我考虑过继承模型,但我试图保持应用程序的灵活性.如果我使用子类,每次需要一种新的对象时我都需要创建一个完整的类,这并不好.我最终会得到很多子类来存储一对额外的字段.

我真的觉得字典是最好的方法,但Django文档中没有关于在Django模型中存储字典(或者我找不到它)的内容.

有线索吗?

python django orm persistence django-models

50
推荐指数
9
解决办法
5万
查看次数

HDF5与文件夹有何不同?

我正在开发一个处理向文件夹添加元数据的开源项目.提供的(Python)API允许您浏览和访问元数据,就像它只是另一个文件夹一样.因为它只是另一个文件夹.

\folder\.meta\folder\somedata.json
Run Code Online (Sandbox Code Playgroud)

然后我遇到了HDF5及其派生的Alembic.

阅读Python和HDF5一书中的HDF5我在寻找使用它的好处与使用文件夹中的文件相比,但我遇到的大部分内容都谈到了分层文件格式在添加数据方面的简单性的好处通过其API:

>>> import h5py
>>> f = h5py.File("weather.hdf5")
>>> f["/15/temperature"] = 21
Run Code Online (Sandbox Code Playgroud)

或者它能够根据请求(例如随机访问)只读取它的某些部分,以及并行执行单个HDF5文件(例如,用于多处理)

您可以挂载HDF5文件,https://github.com/zjttoefs/hdfuse5

它甚至拥有强大而简单的群组数据集的基础概念,来自wiki的内容如下:

  • 数据集,是同类型的多维数组
  • 组,可以容纳数据集和其他组的容器结构

数据集替换为文件文件夹,整个功能集听起来像文件夹中的文件已经完全能够做到.

对于我遇到的每一个好处,没有一个突出显示HDF5专属.

所以我的问题是,如果我要给你一个HDF5文件和一个文件夹,两个内容相同,哪种情况下HDF5更适合?

编辑:

得到了一些关于HDF5可移植性的回应.

这听起来很可爱,但我还没有给出一个例子,一个场景,其中一个HDF5可以用文件输出一个文件夹.当文件夹在任何计算机上可读时,为什么有人会考虑使用HDF5,任何文件系统,通过网络,支持"并行I/O",没有HDF5解释器的人可读.

我甚至可以说,带文件的文件夹比任何HDF5都便携得多.

编辑2:

Thucydides411刚刚举了一个可移植性问题的例子. /sf/answers/1995841991/

我认为我从这个帖子的答案中拿走的是HDF5非常适合当你需要文件和文件夹的组织结构时,就像上面的示例场景一样,有很多(数百万)小(~1个字节)数据结构; 喜欢个别数字或字符串.它通过提供一个"子文件系统"来支持文件系统所缺少的东西,这种文件系统有利于小型和多型,而不是少量和大型.

在计算机图形学中,我们使用它来存储几何模型和关于各个顶点的任意数据,这些数据似乎与它在科学界的使用非常吻合.

python persistence metadata hdf5

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

PersistenceUnit vs PersistenceContext

在我很少成功使用的项目中

@PersistenceUnit(unitName = "MiddlewareJPA")
EntityManagerFactory emf;
...
EntityManager entityManager = emf.createEntityManager();
Run Code Online (Sandbox Code Playgroud)

获取EntityManager数据库连接,但几天前我试图将我的项目移动到Jboss EAP 6.2它无法创建EntityManager.我在Google上搜寻它,我发现,我应该尝试改变@PersistenceUnit,以

@PersistenceContext(unitName = "MiddlewareJPA")
private EntityManager entityManager;
Run Code Online (Sandbox Code Playgroud)

获取EntityManager.它工作但我不知道为什么.有什么区别bettween PersistenceUnitPersistenceContext?每个人的利弊是什么?我们应该在哪里使用其中一个?

java persistence jpa entitymanager java-ee

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

持久数据库连接 - 是或否?

我正在使用PHP的PDO层进行项目中的数据访问,我一直在阅读它并发现它对持久数据库连接有很好的内在支持.我想知道何时/是否应该使用它们.我会在CRUD沉重的应用程序中看到性能优势吗?是否存在需要考虑的缺点,可能与安全性有关?

如果对你很重要,我正在使用MySQL 5.x.

persistence pdo database-connection

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