草庐IT

java - 如何在 hibernate 实体中按多列定义索引?

早上好。我需要在hibernate实体中添加索引。据我所知,可以使用@Index批注为单独的列指定索引,但我需要为多个实体字段创建索引。我用谷歌搜索并找到了jboss注释@Table,它允许这样做(根据规范)。但是(我不知道为什么)这个功能不起作用。可能是jboss版本低于必要的版本,或者我不明白如何使用这个注释,但是......没有创建复杂的索引。为什么不能创建索引?jboss版本4.2.3.GA实体示例:packagesomepackage;importorg.hibernate.annotations.Index;importjavax.persistence.Column;im

java - 使用 Hibernate 加载 20K 产品,修改实体并更新到数据库

我正在使用hibernate更新我数据库中的2万个产品。截至目前,我正在提取20K产品,遍历它们并修改一些属性,然后更新数据库。所以:loadproductsforeachproductssessionbegintransactionproductDao.MakePersistant(p);sessioncommit();到目前为止,与您的标准jdbc相比,速度非常慢,我可以做些什么来加快速度?我确定我在这里做错了什么。 最佳答案 在文档中查看此类处理的正确位置是整个Chapter13.Batchprocessing.在这里,您当前

java - hibernate 应用程序是域驱动的吗?

如果我正在开发一个hiberante应用程序,我是否也在开发一个DD模型?我的应用程序确实有一个服务层(符合观察者模式)。是否还会有一个域层,其中存在所有hibernate实体?我正在查看我的应用程序,如下所示:我需要了解领域驱动设计才能编写Hibernate实体吗?应用程序能否混合-服务层中的OOD和持久层中的DDD?我很困惑。请澄清。 最佳答案 IfI'mdevelopinganHibernateapplication,amIalsodevelopingaDDmodel?使用Hibernate时,您可能会创建实体的领域模型并进行

java - Hibernate分页机制

我正在尝试为我的查询(PostgreSQL)使用Hibernate分页我为我的SQL查询设置了setFirstResult(0)、setMaxResults(20)。我的代码如下:Sessionsession=getSessionFactory().getCurrentSession();session.beginTransaction();Queryquery=session.createQuery("FROMCustomers");query.setFirstResult(0);query.setMaxResults(20);Listentities=query.list();se

java - 如何使用 Hibernate 和 Oracle 10g 方言通过 JPA 生成我的 ID?

我有一些代码:@Id@SequenceGenerator(name="SOMETHING_SEQ")@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="SOMETHING_SEQ")@Column(name="SOMETHING",nullable=false)privateLongid;hibernate如何提供我的ID?我在我的数据库中看到一个名为“hibernate_sequence”的序列,没有其他hibernate“特殊表”。 最佳答案 实际上,这里您的S

java - JPA 2——在 CriteriaQuery 中使用@ElementCollection

@EntitypublicclassPerson{@ElementCollectionprivateListlocations;[...]}@EmbeddablepublicclassLocation{privateIntegerdummy;privateDatecreationDate;[...]}给定以下结构,我想执行与以下SQL等效的HQL或CriteriaQuery:SELECTl.*FROMLocationlINNERJOINPersonpON(p.id=l.person_id)WHEREp.id=?ANDl.creationDate>?我想取回与给定人员关联且其创建日期晚于

java - JPA:如何避免简单地加载对象以便将其 ID 存储在数据库中?

这道题很简单,看代码大概就可以了这是一个非常简单的性能问题。在下面的代码示例中,我希望在我的Cat对象上设置Owner。我有ownerId,但是cats方法需要一个Owner对象,而不是一个Long。例如:setOwner(Owner所有者)@AutowiredOwnerRepositoryownerRepository;@AutowiredCatRepositorycatRepository;LongownerId=21;Catcat=newCat("Jake");cat.setOwner(ownerRepository.findById(ownerId));//Whatawaste

java - 什么时候使用 Hibernate/JPA/Toplink?

现在我正在制作一个非常简单的网站-大约5页。问题是集成某种数据库映射解决方案是否过分且值得花时间,或者只使用普通的旧JNDI是否会更好。我可能有很多东西需要从数据库中读/写。我想我对这些技术有基本的了解,但仍然需要大量引用文档。还有其他人以前面临过这个决定吗?编辑:抱歉,我应该指定JNDI来查找数据库连接,并指定JDBC来执行操作。 最佳答案 简短回答:这取决于您要支持的复杂性。长答案:首先,ORM(对象关系映射——您所说的数据库映射)和JNDI(Java命名和目录接口(interface))是两个不同的东西。如您所知,第一个用于将

java - Hibernate注解与外键关系

我有一个像这样注释的域对象以支持hibernate。@Entity@Table(name="INPUT")publicclassAppInput{/***Uniqueidforthisrequest*/@Id@GeneratedValue@Column(name="INPUT_ID")privatelongrequestId;/****/@Column(name="EMAIL_ID")privateStringemailId;/****/@Column(name="REQUEST_DATE")privateDaterequestDate;/****/@Column(name="INPU

自动删除Laravel 5.4(雄辩的ORM)中的嵌套相关行

假设我有一本书。这本书有章节,本书中的那些章节有子章节。所以我有三个型号:书籍>章>子章当我删除这本书($book->delete();)时,我还想删除本书的相关章节以及本书中所有章节的相关子章节。这里(自动删除Laravel(雄辩ORM)中的相关行)我发现了有关雄辩的事件。每当删除一本书时,在此之前,本章就会被删除,因为我们挂在:classBookextendsEloquent{publicfunctionchapters(){return$this->has_many('Chapter');}protectedstaticfunctionboot(){parent::bo