Tag: jpa

我需要persistence.xml中的<class>元素吗?

我有非常简单的persistance.xml文件: <?xml version="1.0" encoding="UTF-8"?> <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="eventractor" transaction-type="RESOURCE_LOCAL"> <class>pl.michalmech.eventractor.domain.User</class> <class>pl.michalmech.eventractor.domain.Address</class> <class>pl.michalmech.eventractor.domain.City</class> <class>pl.michalmech.eventractor.domain.Country</class> <properties> <property name="hibernate.hbm2ddl.auto" value="validate" /> <property name="hibernate.show_sql" value="true" /> </properties> </persistence-unit> </persistence> 它的工作。 但是,当我删除<class>元素应用程序没有看到实体(所有的类都用@Entity注释)。 有没有自动机制来扫描@Entity类?

Java中的@UniqueConstraint注释

我有一个Java bean。 现在,我想确定这个领域应该是独一无二的。 我正在使用以下代码: @UniqueConstraint(columnNames={"username"}) public String username; 但是我得到一些错误: @UniqueConstraint is dissallowed for this location 什么是使用唯一约束的正确方法? 注意:我正在使用播放框架。

Hibernate的注释 – 哪个更好,是字段还是属性?

这个问题与Hibernate Annotation Placement Question有些相关。 但是我想知道哪个更好 ? 通过属性访问或通过字段访问? 每个的优点和缺点是什么?

Spring Data JPA与大型项目的Hibernate有何不同?

我很难决定是否应该继续使用Hibernate来完成一个新的项目,或者使用JPA和新的Spring Data实现。 Spring Data框架是否适用于大型项目或具有适度查询要求的小型项目? 虽然我通过使用@Query注释当然看到了代码减less的优势,但是您对dynamic查询做了什么? 当你想要实现一个相当复杂的save()方法时呢? 该文档说,要做一个自定义的接口和实现,你的主存储库实现,但如果你需要访问任何超级方法的crud存储库本身? 粗暴仓库实现了自定义的一个 – 而不是其他的方式。 这似乎是一个奇怪的devise。 我非常不确定这个框架是否能够应对复杂和大型应用的挑战。 我从来没有遇到过许多与Hibernate有关的问题,我正在考虑坚持老的可靠,而不是用Spring Data JPA。 我该怎么办? 如果我使用Spring Data JPA,会遇到什么样的无法预料的复杂性和成本?

@ManyToOne属性不允许使用@Column(s)

我有一个属性设置为JPA实体 @ManyToOne @Column(name="LicenseeFK") private Licensee licensee; 但是当我在JBoss 6上部署时,应用程序会抛出一个错误: org.hibernate.AnnotationException: @Column(s) not allowed on a @ManyToOne property 我使用Hibernate 3.5作为JPA 2.0实现。 我应该用什么来引用外键列?

hibernateexception:org.hibernate.AnnotationException:没有为实体指定标识符:com..domain.idea.MAE_MFEView

为什么我得到这个exception? package com.domain.idea; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.Table; import org.hibernate.annotations.AccessType; /** * object model for the view [InvestmentReturn].[vMAE_MFE] */ @Entity @Table(name="vMAE_MFE", schema="InvestmentReturn") @AccessType("field") public class MAE_MFEView { /** * trade property is a SuggestdTradeRecommendation object */ @OneToOne(fetch = FetchType.LAZY , cascade = { CascadeType.PERSIST }) @JoinColumn(name = "suggestedTradeRecommendationID") […]

JPA 2.0 orphanRemoval = true删除Cascade上的VS

我对JPA 2.0 orphanRemoval属性有点困惑。 我想我可以看到它是需要的,当我使用我的JPA提供商的数据库生成工具创build基础数据库DDL ON DELETE CASCADE上的特定关系。 但是,如果数据库存在并且关系上已经具有ON DELETE CASCADE ,那么这是否不足以级联删除? orphanRemoval还做了什么? 干杯

JPA / Hibernate:传递给persist的分离实体

我有一个包含多对一关系的JPA持久化对象模型:一个Account拥有很多事务。 交易有一个帐户。 以下是代码片段: @Entity public class Transaction { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @ManyToOne(cascade = {CascadeType.ALL},fetch= FetchType.EAGER) private Account fromAccount; …. @Entity public class Account { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @OneToMany(cascade = {CascadeType.ALL},fetch= FetchType.EAGER, mappedBy = "fromAccount") private Set<Transaction> transactions; 我能够创build一个帐户对象,添加交易,并坚持正确的帐户对象。 但是,当我创build一个事务, 使用一个已经存在的已经存在的Account ,并且保存 了Transaction时 ,我得到一个exception: Caused by: org.hibernate.PersistentObjectException: detached […]

如何在JPA中保留List <String>types的属性?

获取带有Listtypes字段的实体的最明智的方法是什么? Command.java package persistlistofstring; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import javax.persistence.Basic; import javax.persistence.Entity; import javax.persistence.EntityManager; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Persistence; @Entity public class Command implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) Long id; @Basic List<String> arguments = new ArrayList<String>(); public static void main(String[] args) { Command command = new Command(); EntityManager […]

JPA @ManyToOne与CascadeType.ALL

我想我很想理解在@ManyToOne关系的背景下级联的含义。 案子: public class User { @OneToMany(fetch = FetchType.EAGER) protected Set<Address> userAddresses; } public class Address { @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) protected User addressOwner; } cascade = CascadeType.ALL的含义是什么? 例如,如果我从数据库中删除某个地址,我添加cascade = CascadeType.ALL的事实如何影响我的数据(用户我猜)?