草庐IT

Hibernate

全部标签

java - Hibernate 中的三元(和 n 元)关系

问题1)我们如何使用Hibernate对三元关系建模?例如,我们如何对呈现的三元关系建模here使用Hibernate(或JPA)?注意:我知道JPA2添加了一些使用映射构建三元关系的结构。但是,这个问题假定JPA1或Hibernate3.3.x,我不喜欢使用映射来对此建模。(来源:grussell.org)(来源:grussell.org)理想情况下,我希望我的模型是这样的:classSaleAssistant{Longid;//...}classCustomer{Longid;//...}classProduct{Longid;//...}classSale{SalesAssist

java - Hibernate:如何只获取非逻辑删除的对象

我们数据库中的几乎每个表都有一个FK到审计表,该表记录创建、更新和删除状态(日期和用户名)。我们将审计表映射到审计类并像这样使用它:@MappedSuperclasspublicclassBusinessObjectextendsDataObject{privatestaticfinallongserialVersionUID=-1147811010395941150L;@OneToOne(fetch=FetchType.EAGER,cascade={CascadeType.ALL})@JoinColumn(name="AUD_ID")privateAuditingObjectaudi

java - Spring-Hibernate 坚持不导致插入

我正在尝试实现一个简单的DAO。我有道:@Repository("iUserDao")@Transactional(readOnly=true)publicclassUserDaoimplementsIUserDao{privateEntityManagerentityManager;@PersistenceContextpublicvoidsetEntityManager(EntityManagerentityManager){this.entityManager=entityManager;}@OverridepublicUsergetById(intid){returnentit

java - 外键中的 JPA/Hibernate OneToOne Null

我有以下两个具有双向OneToOne关系映射的实体,数据访问由HibernateEntityManagerv.“3.5.1-Final”提供。@Entity@Table(name="details")publicclassDetails{privateLongid;privateUseruser;publicvoidsetUser(Useruser){this.user=user;}@OneToOne@JoinColumn(name="user_id")publicUsergetUser(){returnuser;}@Id@GeneratedValue(strategy=Generat

java - 无法创建 PoolableConnectionFactory(Io 异常 : The Network Adapter could not establish the connection)

您好,我在spring应用程序中遇到了上述异常,我正在尝试连接到集群Oracle数据库,但即使我尝试连接到单个实例仍然有相同的异常。bean定义如下:完整的堆栈跟踪是:2012-02-1313:18:45,0841375[main]INFOorg.hibernate.connection.ConnectionProviderFactory-Initializingconnectionprovider:org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider2012-02-1313:18:45,2071498

java - 在 Spring 中设计积分系统

我的数据库中已有大量现有数据,我想开发一种积分机制,根据每个用户的操作为他们计算分数。我以可插入的方式实现此功能,因此它独立于主要逻辑,并依赖于在实体被修改后发送的Spring事件。问题是如何处理现有数据。我不想从现在开始收集积分,而是包括直到现在的所有数据。最实用的方法是什么?我是否应该以提供index()方法的方式设计我的插件,这将强制我的系统从数据库中获取每个实体,发送一个EntityDirtyEvent,为每个实体触发点插件,然后更新它,让点被保存在每个实体旁边。这可能会导致大量开销,对吧?最简单的事情是创建一个复杂的存储过程,然后让index()调用该存储过程。然而,在我看来

java - HQL 中的括号未转换为 SQL

这是我的HQL:Queryquery=createQueryOnCurrentSession("DELETEEmaile"+"where"+"(status=:sentandcreationTime=:maxEttempts)");这是生成的SQL:deletefrom`email`where`status`=?and`creation_time`=?问题:为什么SQL中没有括号?我希望它是:deletefrom`email`where(`status`=?and`creation_time`=?)可以作为替代方案,我将在2个请求中删除吗?deletefrom`email`where`

java - 构建路径不完整。找不到 javax/servlet/ServletContext 的类文件

对java很陌生。从事CRUDhibernatespring项目(sts)。配置xml文件时,我收到错误“Buildpathisincomplete.Cannotfindclassfileforjavax/servlet/ServletContext”,由thebeanid="viewResolver"。我如何把它放在构建路径上。干杯。classpath:hibernate.cfg.xmlorg.hibernate.cfg.AnnotationConfiguration${jdbc.dialect}true 最佳答案 应用程序似乎缺

java - where 子句中的子查询与 CriteriaQuery

谁能给我一些关于如何将这种子查询放入CriteriaQuery的提示?(我正在使用JPA2.0-Hibernate4.x)SELECTa,b,cFROMtableAWHEREa=(SELECTdFROMtableBWHEREtableB.id=3)-第二个选择将始终获得单个结果或null。 最佳答案 尝试像下面的例子一样创建一个子查询:CriteriaQuerycq=cb.createQuery(Object[].class);RoottableA=cq.from(TableA.class);Subquerysq=cq.subque

java - Hibernate session.getTransaction().begin() 与 session.beginTransaction() 之间的区别

我找不到关于这个主题的太多信息。谁能解释一下Hibernatesession.getTransaction().begin()vssession.beginTransaction()vssession之间的区别.beginTransaction().begin() 最佳答案 调用session.getTransaction().begin()没有多大意义,因为session.getTransaction()将检索已经在进行中的事务,因为它假设交易正在进行中。您基本上是在说,开始这个应该已经在进行中的交易。session.beginT