草庐IT

QueryDSL-JPA

全部标签

java - JPA @Column 注释创建评论/描述

我想知道是否可以从jpa/hibernate注释创建一个数据库列描述/评论,如下所示:ALTERTABLEtablenameCHANGEstatusstatusINT(11)NOTNULLCOMMENT'样本描述/评论';这将是一个很棒的功能,但我在JPA规范中找不到任何相关信息。也许我应该使用@Column(columnDefinition="")属性,但我没有任何线索。请帮忙 最佳答案 我找到了我自己问题的答案。我不确定可以吗?它适用于所有数据库吗?肯定它适用于mysql。这是工作代码:@Column(columnDefinit

弹簧数据JPA生成的UUID字段为null

我有一个名为“预订”的实体,该实体具有生成的ID字段,我用作主要键。它可以正常工作。我想添加另一个字段,即将在RESTAPI中用作资源标识符。我有一个PostgresDB,并设置了自动生成的字段:uuidcharactervarying(36)notnulldefaultuuid_generate_v1mc()在创建时,DB生成ID和UUID恰好,但是在Java代码中,UUID字段为null。我的实体看起来像这样:@EntitypublicclassBooking{@Id@SequenceGenerator(name="booking_id_seq",sequenceName="booking

java - JPA EclipseLink 数据库异常 : 'table foo.SEQUENCE doesn' t exist'

我已经更新了问题,以便两个表现在都使用自动递增。持久化到MESSAGES表的问题可能是数据库架构的问题吗?在尝试这样持久化MessageBean时:privatevoidpersist(MessageBeanmessageBean)throwsException{LOG.info("loading.."+messageBean);Messagesmessage=newMessages(messageBean);emf=Persistence.createEntityManagerFactory("USENETPU");em=emf.createEntityManager();em.ge

java - jpa 合并非托管实体

我想在另一个PersistenceContext中管理一个非托管实体。我读到这可以通过合并来实现:em.merge(user);但如果我这样做,它不会添加到上下文中:booleanisManaged=em.contains(user);始终为假。即使我做了以下:Userdbuser=em.find(User.class,user.getId());em.merge(user);booleanisManaged=em.contains(user);dbuser和user完全一样。我做错了什么?我正在使用JPA、MySqlDB、JBossEAP6.1 最佳答案

sql - 如何在 JPA/Hibernate 中执行原生 SQL 脚本?

我有一个带有数据库转储的SQL脚本。我如何使用Hibernate的EntityManager执行它?我这样试过:EntityManagermanager=getEntityManager();Queryq=manager.createNativeQuery(sqlScript);q.executeUpdate();但它仅在sqlScript包含单个SQL查询时有效,而我需要运行多个插入和其他复杂的东西。关系型数据库:Oracle数据库11g快捷版11.2.0.2.0版-64位生产 最佳答案 用beginendblock包装您的查询。

java - 在 JPA 中插入多行的最有效方法

我有父/子单向关系。当我检查日志时,我发现每个子行都有一个单独的插入查询,相当于:insertintochildTable(col1,col2)values(val1,val2);insertintochildTable(col1,col2)values(val3,val4);在单个查询中插入所有行不是更有效吗?类似的东西:insertintochildTable(col1,col2)values(val1,val2),(val3,val4)有没有办法强制JPA生成多行插入而不是单行插入?编辑:我目前正在使用级联插入,因此我插入了父级,而子级的插入是自动生成的。我更愿意继续使用该方法,

mysql - 使用 JPA 时如何管理数据库演变?

我按照他们网站上构建小型博客引擎的教程学习了游戏。它使用JPA并在其Bootstrap中调用Fixtures.Deletemodels()(或类似的东西)。它基本上每次运行时都会破坏所有表,我丢失了所有数据。我已经部署了一个类似的生产系统(没有nuke语句)。现在我需要对生产系统部署一个大型更新。许多类已更改、添加和删除。在我的本地测试中,没有在每次运行时都对表进行核对,我遇到了同步问题。当我尝试写入或从表中读取时,Play会抛出错误。我打开mysql,果然表只被修改了一部分,而且在某些情况下修改不正确。即使我在我的配置中将DDL模式设置为“创建”,JPA似乎也无法“弄清楚”如何协调更

java - key 'PRIMARY' 的重复条目使用 JPA 持久保存到数据库中

我在将JPA持久保存到我的数据库时遇到错误,当我将第二个文件持久保存到数据库时发生错误。我需要导入大量数据集,每个数据集有5张。即使其中已经存在一些相同的数据,也需要更新每个表。目前我收到以下错误错误17:26:35,315WARN[org.hibernate.engine.jdbc.spi.SqlExceptionHelper](http-localhost-127.0.0.1-8080-1)SQLError:1062,SQLState:2300017:26:35,316ERROR[org.hibernate.engine.jdbc.spi.SqlExceptionHelper](h

java - 使用日期参数时,Spring Data JPA 日期 "between"查询问题

在我的应用程序中,我使用SpringData和hibernate作为JPA提供程序来保存和读取数据。我有顶级实体类:@Entity@Getter@Setter@Table(name="operation")@Inheritance(strategy=InheritanceType.JOINED)@EqualsAndHashCode(of={"operationId"})publicabstractclassOperationimplementsSerializable{publicstaticfinalintOPERATION_ID_LENGTH=20;@Id@Column(name=

SpringBoot集成Jpa对数据进行排序、分页、条件查询和过滤

之前介绍了SpringBoot集成Jpa的简单使用,接下来介绍一下使用Jpa连接数据库对数据进行排序、分页、条件查询和过滤操作。首先创建Springboot工程并已经继承JPA依赖,(https://www.cnblogs.com/eternality/p/17391141.html)1、排序查询通过findAll方法的Sort类进行排序,根据实体类字段进行排序。descending降序,ascending升序,默认不填为ascending升序。ListmapperAll=userMapper.findAll(Sort.by("id").descending());mapperAll.forE