草庐IT

Hibernate

全部标签

java - 如何在 postgres - Hibernate 中设置锁定超时

我正在尝试设置Lock对于我正在处理的行,直到下一次提交:entityManager.createQuery("SELECTvaluefromTablewhereid=:id").setParameter("id","123").setLockMode(LockModeType.PESSIMISTIC_WRITE).setHint("javax.persistence.lock.timeout",10000).getSingleResult();我认为应该发生的是,如果两个线程同时尝试写入数据库,一个线程将先于另一个线程到达更新操作,第二个线程应该等待10秒然后抛出Pessimisti

java - Hibernate 删除级联

我有一个实体[Project],其中包含一组其他实体[Questions]。我已经用“all-delete-orphan”的级联属性映射了关系。在我的数据库中,关系映射到问题表上的project_id(FK)字段。此字段不能为空,因为我不想要没有项目的问题。当我执行session.delete(project)时,它抛出一个异常说明project_id不能为null,但是如果我删除not-null约束到该字段,删除效果很好。有人知道怎么解决吗? 最佳答案 直接来自documentation.我相信这完全解释了你的问题:但是,这段代码

java - JPA 2.0、hibernate 3.5、jars 和 persistence.xml 位置

我正在使用hibernate3.5和JPA2.0构建桌面应用程序。我有2个jar,定义每个实体和DAO的库,包如下所示:org.my.package.modelsorg.my.package.models.daoorg.my.package.models.utils在org.my.package.utils中,我定义了用于获取EM和EMF实例的hibernate实用程序类,这意味着该库已绑定(bind)到持久性单元名称,但目前这不是问题(无论如何你可以向我推荐一个更好的管理方式)第二个jar构建如下:org.my.package.appMETA-INF是在项目的根目录中定义的,这意味着

java - Spring:缺少 JPA 元模型

我无法理解带有JPA存储库的简单SpringMVC项目出了什么问题。能否给个提示。域:packagecom.test.app;@Entity@Table(name="foo_table")publicclassFooDomain{@Id@Column(name="id",unique=true,nullable=false)privateIntegerid;@Column(name="text",nullable=false)privateStringtext;//getters&settershere...存储库packagecom.test.app;@RepositoryDefin

java - 如何使用 Hibernate 支持的 JPA 在 tomcat 中运行 Spring 3.0 PetClinic

好吧,这应该是世界上最简单的事情了,但我已经尝试了一整天,但仍然没有用。非常感谢任何帮助!编辑:有关正确的程序,请参阅Pascal的回答。我的错误(因为我没有禁用LoadTimeWeaving)程序留作引用..:我做了什么:已下载Tomcat6.0.26和Spring3.0.1从https://src.springframework.org/svn/spring-samples/petclinic下载PetClinic构建并部署了petclinic.war。使用默认的JDBC持久性运行良好。编辑webapps/WEB-INF/spring/applicationContext-jpa.

java - hibernate 如何从现有数据库 View 中检索数据?

我刚接触hibernate。我的问题是我有一个Oracle数据库。我在数据库中有一个View。现在我想使用hibernate来检索该View中的数据。有没有可能的解决方案? 最佳答案 以下代码片段可以解决您的问题,该代码摘自教程:MappingHibernateEntitiestoViewsDatabaseQueryCREATEORREPLACEVIEWcameronASSELECTlast_nameASsurnameFROMauthorWHEREfirst_name='Cameron';viewentity@Entity@Name

java - 减少有许多 hibernate 线程时使用的操作系统线程数

我有一个有数百个线程的系统。大多数线程在给定时间内处于hibernate或等待状态,但它们可以随时唤醒。我想减少专用于我的系统的操作系统线程数。你知道一个简单的方法吗?例如,是否有一个线程池包,每当线程进入休眠模式时,它都会存储状态并杀死线程。每当它醒来时,它都会以旧线程的状态启动新线程。谢谢 最佳答案 你在找类似ThreadPoolExecutor的东西吗??AnExecutorServicethatexecuteseachsubmittedtaskusingoneofpossiblyseveralpooledthreads,no

java - hibernate 异常 : Found two representations of same collection

如果我保存一个包含以下列表的对象@OneToMany(cascade=CascadeType.ALL,mappedBy="taskList")@OrderColumn(name="position",nullable=false)publicListtasks=newArrayList();我得到异常org.hibernate.HibernateException:FoundtworepresentationsofsamecollectionPlay!中的代码Controller看起来像这样:TaskListtaskList=taskList.findById(taskListId);

java - 二级缓存 vs 查询缓存 vs 集合缓存?

据我了解,当使用主键加载对象时,将使用二级缓存。这包括获取关联。我只能想到上面的session.get()、session.load方法,其中二级缓存将出现在图片中。如果关联是集合或其他一些实体,如何缓存它?例如:-@CacheablepublicclassDepartment{privateListEmployees;privateDepatmentDetaildetail;}如何使关联员工和详细信息可缓存?我想我需要在关联员工和细节上面提到@cache。但这不起作用?当开发人员执行department.getEmployees()时,hibernate将在内部触发查询,即selec

java - 这个嵌套注解做什么/允许做什么?

我正在查看@org.hibernate.validator.constaints.NotEmpty注释:@Documented@Constraint(validatedBy={})@Target({METHOD,FIELD,ANNOTATION_TYPE,CONSTRUCTOR,PARAMETER})@Retention(RUNTIME)@ReportAsSingleViolation@NotNull@Size(min=1)public@interfaceNotEmpty{Stringmessage()default"{org.hibernate.validator.constrain