草庐IT

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 动态类型化查询的最佳实践?

我正在尝试转换我们使用的“TableController”类(没有ORM)以生成动态SQL(实际上,订单列和方向附加到SQL)。将此“TableController”视为一个类,该类具有以给定顺序返回给定类(在运行时已知)的实体列表的功能(字符串列/属性名称,boolean升序/降序,均在运行时)。现在的挑战是,使用JPA(Hibernate-但客户只需要使用JPA接口(interface)):我如何在没有字符串连接的情况下以类型安全的方式实现这一点?谢谢! 最佳答案 Thechallengeisnow,withJPA(Hibern

java - @ManyToOne JPA 关联和级联...不确定如果我删除一个对象会发生什么

我对级联在删除操作中的工作方式还不是很清楚。我想知道如果我有这个会发生什么:classmyBean{@ManyToOne(fetch=FetchType.LAZY,cascade=CascadeType.ALL)publicClientegetClienteDiAppartenenza(){returnclienteDiAppartenenza;}}classCliente{@OneToMany(cascade=CascadeType.ALL,orphanRemoval=true,fetch=FetchType.LAZY)publicListgetMyBeans(){returnmyB

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 - 为什么 JPA persist() 不生成自增主 ID?

我正在使用JPAtoplink-essential和SQLServer2008我的目标是获取将要插入到表中的数据的自动递增主键值。我知道在JDBC中,有类似getInsertedId()的方法可以为您提供自动递增主ID的ID(但那是在插入语句执行之后)在JPA中,我发现@GenratedValue注释可以解决这个问题。@Entity@Table(name="tableOne")publicclassTableOneimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@Id@GeneratedValue(str

java - 如何让 QueryDSL 和 Lombok 协同工作

当使用Lombok注释对方法或变量进行注释时,maven插件将通过处理JPA的源代码生成来进行投诉。我在控制台日志中遇到了这种故障:symbol:class__location:classServiceBaseMessageC:\workspaces\[...]\service\ServiceBaseMessage.java:44:error:cannotfindsymbol@Getter(onMethod=@__({@JsonProperty("TYPE")}))如何使JPA注释的apt-maven-plugin和queryDSL处理器与lombok注释一起工作?

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