草庐IT

QueryDSL-JPA

全部标签

java - Spring Data JPA 如何使用 Kotlin nulls 而不是 Optional

我正在使用SpringDataJPA和Kotlin编写一个SpringBoot应用程序,我注意到在CrudRepository中有以下方法:OptionalfindById(IDid);不过,我使用的是Kotlin,它处理空值的方式比Optional更流畅。有谁知道我将如何将该方法转换为这样工作?funfindById(id:ID):T?当我扩展Repository本身并使用该签名创建一个repo时,我收到错误:java.lang.ClassCastException:java.util.Optionalcannotbecasttocom.books.Book

jpa - kotlin 数据类 + bean 验证 jsr 303

我正在尝试让Kotlin在spring-data-rest项目中使用jsr303验证。给定以下数据类声明:@EntitydataclassUser(@Id@GeneratedValue(strategy=javax.persistence.GenerationType.AUTO)varid:Long?=null,@Size(min=5,max=15)valname:String)@Size注释在这里不起作用,使我能够保存名称为1个字符的用户。当执行相同的示例但在Java类而不是Kotlin中时,它运行良好。这让我想到了一个Kotlin问题。提前感谢您的帮助!

java - JPA:如何将字符串持久化到数据库字段中,键入 MYSQL 文本

要求用户可以写文章,所以我选择类型Text对于contentmysql数据库中的字段。如何转换JavaString进入MySQLText给你JimTough@EntitypublicclassArticleimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@Id@GeneratedValue(strategy=GenerationType.AUTO)privateLongid;privateLonguserId;privateStringtitle;privateStringcontent;privateI

java - 配置 hibernate (使用 JPA)以存储 boolean 类型的 Y/N 而不是 0/1

我可以设置JPA/hibernate以将Boolean类型保留为Y/N吗?在数据库中(列定义为varchar2(1)。目前存储为0/1。数据库为Oracle。 最佳答案 Hibernate有一个内置的“yes_no”类型,可以做你想做的事。它映射到数据库中的CHAR(1)列。基本映射:注解映射(Hibernate扩展):@Type(type="yes_no")publicbooleangetFlag(); 关于java-配置hibernate(使用JPA)以存储boolean类型的Y/N

java - 如何使用 JPA 注释引入多列约束?

我正在尝试在JPA映射实体上引入多键约束:publicclassInventoryItem{@IdprivateLongid;@VersionprivateLongversion;@ManyToOne@JoinColumn("productId")privateProductproduct;@Column(nullable=false);privatelongserial;}基本上(产品,序列)对应该是唯一的,但我只找到了一种方式说序列应该是唯一的。这显然不是一个好主意,因为不同的产品可能具有相同的序列号。有没有办法通过JPA生成这个约束,还是我被迫手动将它创建到DB?

java - 如何在 JPA 中删除具有多对多关系的实体(以及相应的连接表行)?

假设我有两个实体:组和用户。每个用户可以是多个组的成员,每个组可以有多个用户。@EntitypublicclassUser{@ManyToManySetgroups;//...}@EntitypublicclassGroup{@ManyToMany(mappedBy="groups")Setusers;//...}现在我想删除一个组(假设它有很多成员)。问题是当我在某个组上调用EntityManager.remove()时,JPA提供程序(在我的情况下为Hibernate)不会从连接表中删除行,并且由于外键约束,删除操作会失败。在User上调用remove()效果很好(我想这与拥有关系

java - 枚举的 JPA 映射集合

在JPA中有没有办法在Entity类中映射一组枚举?或者唯一的解决方案是用另一个域类包装Enum并使用它来映射集合?@EntitypublicclassPerson{publicenumInterestsEnum{Books,Sport,etc...}//@???Collectioninterests;}我正在使用HibernateJPA实现,但当然更喜欢实现无关的解决方案。 最佳答案 使用Hibernate你可以做到@ElementCollection(targetElement=InterestsEnum.class)@Join

java - 如何生成 JPA 实体元模型?

本着与CriteriaQuery相关的类型安全精神JPA2.0还有一个API来支持Metamodel实体的表示。是否有人知道此API的完整功能实现(生成元模型而不是手动创建元模型类)?如果有人也知道在Eclipse中设置它的步骤,那就太棒了(我假设它就像设置注释处理器一样简单,但你永远不知道)。编辑:偶然发现HibernateJPA2MetamodelGenerator.但问题仍然存在,因为我找不到该jar的任何下载链接。编辑2:自从我提出这个问题以来已经过了一段时间,但我想我会回来并添加一个指向HibernateJPAModelGeneratorprojectonSourceForg

java - Spring Data JPA 通过嵌入对象属性查找

我想编写一个SpringDataJPA存储库接口(interface)方法签名,它可以让我在该实体中找到具有嵌入对象属性的实体。有谁知道这是否可行,如果可以,怎么办?这是我的代码:@Entity@Table(name="BOOK_UPDATE_QUEUE",indexes={uniqueConstraints=@UniqueConstraint(columnNames={"bookId","region"},name="UK01_BOOK_UPDATE_QUEUE"))publicclassQueuedBookimplementsSerializable{@Embedded@NotNu

java - 如何使用 JPA 和 Hibernate 在 UTC 时区中存储日期/时间和时间戳

如何配置JPA/Hibernate以将数据库中的日期/时间存储为UTC(GMT)时区?考虑这个带注释的JPA实体:publicclassEvent{@Idpublicintid;@Temporal(TemporalType.TIMESTAMP)publicjava.util.Datedate;}如果日期是2008年2月3日上午9:30太平洋标准时间(PST),那么我希望将2008年2月3日下午5:30的UTC时间存储在数据库中。同样,当从数据库中检索日期时,我希望将其解释为UTC。所以在这种情况下,530pm是530pmUTC。当它显示时,它将被格式化为太平洋标准时间上午9:30。