Tag: 持久化

如何在JPA中复制Hibernate的saveOrUpdate?

在JPA中,有什么办法可以复制Hibernate的saveOrUpdate行为 , saveOrUpdate public void saveOrUpdate(Object object) throws HibernateException Either save(Object) or update(Object) the given instance, depending upon resolution of the unsaved-value checks (see the manual for discussion of unsaved-value checking). This operation cascades to associated instances if the association is mapped with cascade="save-update". Parameters: object – a transient or detached instance containing new or […]

HDF5与带有文件的文件夹有什么不同?

我正在开发一个处理文件夹添加元数据的开源项目 。 提供的(Python)API允许您浏览和访问元数据,就像它只是另一个文件夹。 因为它只是另一个文件夹。 \folder\.meta\folder\somedata.json 然后我遇到了HDF5及其衍生Alembic 。 阅读Python和HDF5这本书中的HDF5 ,与使用文件夹中的文件相比,我一直在寻找使用它的好处,但是我所遇到的大部分内容都讲述了分层文件格式在添加数据方面的优点通过它的API: >>> import h5py >>> f = h5py.File("weather.hdf5") >>> f["/15/temperature"] = 21 或者是根据请求只读取其中某些部分的能力(例如随机访问),以及单个HDF5文件的并行执行(例如,用于多处理) 你可以挂载HDF5文件, https://github.com/zjttoefs/hdfuse5 它甚至拥有一个强大而简单的基本概念的组和数据集 ,从wiki中读取: 数据集,这是一个同types的multidimensional array 组,这是可以容纳数据集和其他组的容器结构 将数据集replace为文件和文件夹 组 ,整个function集听起来像是文件夹中的文件已经完全能够做到。 对于我所遇到的每一个好处,都没有一个是HDF5专有的。 所以我的问题是,如果我要给你一个HDF5文件和一个带有相同内容的文件夹,在这种情况下HDF5会更适合吗? 编辑: 对HDF5的可移植性有了一些反应。 这听起来很可爱,但是我仍然没有给出一个例子,一个HDF5会将文件夹放在一个文件夹中的场景。 为什么有人会考虑在任何计算机上读取文件夹时使用HDF5,通过networking支持“并行I / O”的任何文件系统,都可以在没有HDF5解释器的情况下被人读取。 我甚至会说,带有文件的文件夹比任何HDF5都要便携得多。 编辑2: Thucydides411刚刚举了一个可移植性问题的例子。 https://stackoverflow.com/a/28512028/478949 我认为我从这个线索中得到的答案是,当你需要文件和文件夹的组织结构时,HDF5非常适合,就像在上面的示例场景中,有很多(百万)小(〜1字节)数据结构; 像个人号码或string。 它通过提供一个“小文件系统”来弥补文件系统缺乏的优势。 在计算机graphics学中,我们用它来存储几何模型和有关各个顶点的任意数据,这似乎与它在科学界的使用非常吻合。

在多列上创build组合唯一约束

这是我的模特: class User {…} class Book { User author; int number; } 每个作者的书号从1开始,然后递增。 所以我们会有John Grisham的书1,2,3,George Martin的Book 1..5等。 有没有一个独特的限制,我可以放在Book ,这将保证我们没有两个相同的作者相同数量的书籍? 类似于@Column(unique = true) ,但是这个约束只适用于Author X number的组合?

JPA 2 CriteriaQuery,使用一个限制

我正在使用JPA 2.出于安全原因,我正在使用CriteriaQuery的安全types(因此,我不search任何types查询的解决scheme等)。 我最近遇到了一个需要设置SQL-LIMIT的问题。 经过大量的search,我仍然没有find解决scheme。 CriteriaQuery<Product> query = getEntityManager().getCriteriaBuilder().createQuery(Product.class); Root<Product> product = query.from(Product.class); query.select(product); return em.createQuery(query).getResultList(); 谁能帮我?

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

我使用的是JPA2,@Entity和@Table都有一个name属性,例如: @Entity(name="Foo") @Table (name="Bar") class Baz 我应该使用什么,哪些是可选的? 在我的具体情况下,我有一个类的User和一个类Group ,它有额外的要求(据我所知),因为它们是在SQL中的保留字。 一个工作的解决scheme是怎么样的,在写查询时我会用哪个名字来引用这个实体呢? 更新。 我在Group为两个注释添加了name="GROUPS" ,对User也做了相同的处理,但现在我得到这个错误: Exception Description: The table [USERS] is not present in this descriptor. Descriptor: RelationalDescriptor(example.Group –> [DatabaseTable(GROUPS)]) 和 Internal Exception: java.sql.SQLException: Table not found in statement [SELECT ID, MAXIMUMROLE, MEMBERSHIPS_ID FROM USERS]

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

我需要在Django模型中存储一些数据。 这些数据不等于模型的所有实例。 起初,我想了解这个模型的子类,但我试图保持应用程序的灵活性。 如果我使用子类,每次需要一个新types的对象,我都需要创build一个完整的类,这是不好的。 我也将结束很多子类只存储一对额外的领域。 我真的觉得字典是最好的方法,但是在Django文档中没有关于在Django模型中存储字典的信息(或者我找不到它)。 任何线索?

替代memcached,可以坚持到磁盘

我目前正在使用我的Java应用程序的memcached,总体来说它工作得很好。 memcached对我来说最重要的function是: 它的速度很快,因为读取和写入都在内存中,不会触及磁盘 这只是一个关键/价值商店(因为这是我所有的应用程序的需求) 它是分布式的 它通过使每个对象正好位于一台服务器上而高效地使用内存 它不假定对象来自数据库(因为我的对象不是数据库对象) 然而,memcached做不到的事情是我想要做的。 我想定期(也许每天一次)将caching内容保存到磁盘。 我希望能够从保存的磁盘映像中恢复caching。 磁盘保存不需要非常复杂。 如果在保存时添加新的键/值,我不在乎它是否包含在保存中。 如果在保存过程中现有的键/值被修改,保存的值应该是旧值或新值,但我不在乎哪一个。 任何人都可以推荐另一个caching解决scheme(无论是自由还是商业),具有所有(或相当大比例)的memcachedfunction,对我来说很重要,也允许从磁盘保存和恢复整个caching?

Django持久数据库连接

我用Apache和mod_wsgi和PostgreSQL的django(都在同一主机上),我需要处理很多简单的dynamic页面请求(每秒数百)。 我面临的问题是,Django没有持久的数据库连接,并重新连接每个请求(大约需要5ms)的瓶颈。 在做基准testing时,我得到了持续的连接,我可以处理接近500 r / s的速度,而没有得到50 r / s的速度。 任何人有任何build议? 如何修改Django使用持久连接? 或者加速从python到数据库的连接 提前致谢。

REFRESH和MERGE在数据库方面意味着什么?

我很好奇,需要快速find答案。 谷歌帮不了多less忙。 Java持久性API具有这些属性,可以告诉框架级联关联实体的操作: CascadeType.PERSIST CascadeType.DELETE CascadeType.MERGE CascadeType.REFRESH 我知道前两个是什么意思:当我坚持有B的对象A时,坚持B,当我删除A时,也删除B. 但我无法理解其他两个人的成就。 帮帮我?

hibernate:“字段ID”没有默认值“

我面对的是我认为是Hibernate的一个简单问题,但无法解决它(Hibernate论坛无法访问肯定不会帮助)。 我有一个简单的类,我想坚持,但不断得到: SEVERE: Field 'id' doesn't have a default value Exception in thread "main" org.hibernate.exception.GenericJDBCException: could not insert: [hibtest.model.Mensagem] at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103) at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91) [ a bunch more ] Caused by: java.sql.SQLException: Field 'id' doesn't have a default value [ a bunch more ] 持久化类的相关代码是: package hibtest.model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Inheritance; import […]