草庐IT

Hibernate-Session

全部标签

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 - 如何使用 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 - 通过 JDBC 连接时在 session 信息中显示应用程序名称

我使用标准JDBC驱动程序创建到postgres9数据库的连接。...ConnectionmyCon=DriverManager.getConnection("jdbc:postgresql://localhost/test?&user=test&password=test");...当我使用PgAdmin检查服务器状态并显示所有数据库session时,我可以看到没有为我的session设置“应用程序名称”。有没有办法在JDBC连接中设置应用程序名称? 最佳答案 自PostgresJDBC9.1dev-900以来,可以将应用程序名称

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 - 在客户端处理 session 超时

场景是用户应该在她的session即将过期时收到通知(比如通过典型的JS警报或重定向等)。有几种方法可以做到这一点按照说明使用javascript超时功能here.使用ServerPush使用WebSockets这当然需要HTML5支持。这两种方法的相对优点/缺点是什么?除了这些,还有其他方法可以实现吗(一些标准库等)。我的后端是JavaEE(Struts+Spring)。 最佳答案 通过使用javascript超时函数,您需要确保如果用户进行任何AJAX调用,您的函数应该被重置,因为它应该被视为用户Activity。如果使用服务器

java - Hibernate updatable = false UUID 字段已更新

我正在将SpringDataJPA与Hibernate一起使用,但在@Column上的updatable=false属性方面遇到了问题注释。我的所有@Entity都有一个基类具有如下定义的UUID的对象:@MappedSuperclass@Getter@Setter@EqualsAndHashCode(of={"uuid"})publicabstractclassAbstractEntityimplementsPersistable{@Id@GeneratedValue(strategy=AUTO)@Column(unique=true,updatable=false)privateL

java - Spring Boot Hibernate 5 忽略@Table 和@Column

这让我发疯。我正在实现SpringSocial,它要求您有一个名为UserConnection的数据库表(而不是使用使用下划线分隔两个词的标准命名约定)。所以在我天真的世界观中,我认为通过指定@Table(name="UserConnection")可以很容易地解决这个问题......但是不,那太容易了。注解被忽略,表被创建为user_connection,然后导致SpringSocial出现嘶嘶声。请告诉我有一些简单的方法可以告诉我的SpringBoot应用只命名一个表(及其对应的列)以使用驼峰命名约定而不是标准命名约定。 最佳答案